当前位置: 首页 > news >正文

【JavaScript】01数组原型对象的最后一个元素、计数器

题目一:数组原型对象的最后一个元素

请你编写一段代码实现一个数组方法,使任何数组都可以调用 array.last() 方法,这个方法将返回数组最后一个元素。如果数组中没有元素,则返回 -1 。

你可以假设数组是 JSON.parse 的输出结果。

示例 1 :

输入:nums = [null, {}, 3]
输出:3
解释:调用 nums.last() 后返回最后一个元素: 3。

示例 2 :

输入:nums = []
输出:-1
解释:因为此数组没有元素,所以应该返回 -1。
提示:
  • arr 是一个有效的 JSON 数组
  • 0 <= arr.length <= 1000
/*** @return {null|boolean|number|string|Array|Object}*/
Array.prototype.last = function() {};/*** const arr = [1, 2, 3];* arr.last(); // 3*/

解题:

方法一:

Array.prototype.last = function() {if(this.length===0){return -1;}else{return this[this.length-1] }};

方法二:

Array.prototype.last = function() {return this.length === 0 ? -1 : this[this.length - 1];
}作者:力扣官方题解
链接:https://leetcode.cn/problems/array-prototype-last/solutions/2506895/shu-zu-yuan-xing-dui-xiang-de-zui-hou-yi-4phe/
来源:力扣(LeetCode)

题目二:计数器

给定一个整型参数 n,请你编写并返回一个 counter 函数。这个 counter 函数最初返回 n,每次调用它时会返回前一个值加 1 的值 ( n ,  n + 1 ,  n + 2 ,等等)。

示例 1:

输入:
n = 10 
["call","call","call"]
输出:[10,11,12]
解释:
counter() = 10 // 第一次调用 counter(),返回 n。
counter() = 11 // 返回上次调用的值加 1。
counter() = 12 // 返回上次调用的值加 1。

示例 2:

输入:
n = -2
["call","call","call","call","call"]
输出:[-2,-1,0,1,2]
解释:counter() 最初返回 -2。然后在每个后续调用后增加 1。

提示:

  • -1000 <= n <= 1000
  • 0 <= calls.length <= 1000
  • calls[i] === "call"

解题:

方法一:

function createCounter(n) {  let count = n; // 初始化计数值为 n  return function() {  return count++; // 返回当前计数值,并同时将其递增  };  
} 

方法二:

var createCounter = function(n) {return function() {return n++;      };
};作者:力扣官方题解
链接:https://leetcode.cn/problems/counter/solutions/2487678/ji-shu-qi-by-leetcode-solution-xuwj/
来源:力扣(LeetCode)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【精通Redis】Redis命令详解
  • clangd配置
  • vue - devtools 安装
  • MacOS DockerDesktop配置文件daemon.json的位置
  • MakeReal3D v5.0 爆炸视图
  • 基于springboot+vue+uniapp的校园二手交易小程序
  • K8s大模型算力调度策略的深度解析
  • 使用 AI 支持的元描述生成器提升SEO效果
  • Bugku-ctf-web-eval
  • C# 调用Webservice接口接受数据测试
  • hcip学习 DHCP中继
  • 防洪评价报告编制方法与水流数学模型建模技术
  • mysql+php+html实现学生管理系统
  • LangChain的embeddings结合向量数据库Weaviate接入ChatGPT-4、智普和通义千问
  • 命令行使用ADB,不用root,完美卸载小米预装软件
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 0基础学习移动端适配
  • JAVA 学习IO流
  • JSONP原理
  • Laravel核心解读--Facades
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • windows下如何用phpstorm同步测试服务器
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 正则表达式
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​字​节​一​面​
  • # include “ “ 和 # include < >两者的区别
  • ###C语言程序设计-----C语言学习(6)#
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (九)c52学习之旅-定时器
  • (七)理解angular中的module和injector,即依赖注入
  • (一)基于IDEA的JAVA基础1
  • (原)本想说脏话,奈何已放下
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)mysql使用Navicat 导出和导入数据库
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .net 后台导出excel ,word
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .Net(C#)自定义WinForm控件之小结篇
  • .net通用权限框架B/S (三)--MODEL层(2)
  • // an array of int
  • /bin、/sbin、/usr/bin、/usr/sbin
  • @PreAuthorize注解
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [AIGC] HashMap的扩容与缩容:动态调整容量以提高性能
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [android] 天气app布局练习
  • [BT]BUUCTF刷题第8天(3.26)