当前位置: 首页 > 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)

http://www.lryc.cn/news/406899.html

相关文章:

  • 解决R语言找不到系统库导致的报错
  • Java高并发理论基础
  • Spring事件机制
  • vue+canvas音频可视化
  • 俊昭stm32笔记
  • W30-python03-pytest+selenium+allure访问百度网站实例
  • 如何在 Debian 8 上安装和使用 PostgreSQL 9.4
  • 【微信小程序】微信小程序设置本地背景图片在真机无法显示的解决方案
  • Arthas在线诊断案例实战整理
  • 使用 XRDP 远程linux主机
  • 学习小型gpt源码(自用)
  • @Transactional使用的注意事项
  • 快手可灵视频生成大模型全方位测评
  • 【JavaScript】`Map` 数据结构
  • Ubuntu22.04使用NVM安装多版本Node.js和版本切换
  • 基于C51和OLED12864实现Goole小恐龙
  • 【Docker】CentOS7环境下的安装
  • 浏览器的最大并发数(http1.1)
  • Android 开发中px、dpi 和 dp三个单位的介绍
  • zookeeper开启SASL权限认证
  • mysql一个小问题引发的思考-mysql类型转换-查询缓存 及 MYSQL查询缓存以及自动选择不使用查询缓存的情况
  • css更改图片颜色
  • 通过POST请求往Elastic批量插入数据
  • JAW:一款针对客户端JavaScript的图形化安全分析框架
  • 错误解决 error CS0117: ‘Buffer‘ does not contain a definition for ‘BlockCopy‘
  • ICMPv6与DHCPv6之网络工程师软考中级
  • 【HTML — 构建网络】HTML 入门
  • javafx的ListView代入项目的使用
  • 基于ABAP OLE技术实现对服务器文件进行读写操作
  • 求教Postgresql在jdbc处理bit(1)字段的预处理解决方案