说在前面
🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。
题目描述
请你编写一段代码实现一个数组方法,使任何数组都可以调用 array.last() 方法,这个方法将返回数组最后一个元素。如果数组中没有元素,则返回 -1 。
你可以假设数组是 JSON.parse 的输出结果。
示例 1 :
输入:nums = [null, {}, 3] 输出:3 解释:调用 nums.last() 后返回最后一个元素: 3。
示例 2 :
输入:nums = [] 输出:-1 解释:因为此数组没有元素,所以应该返回 -1。
提示:
- arr 是一个有效的 JSON 数组
- 0 <= arr.length <= 1000
解题思路
首先我们需要先获取到数组的长度,在原型方法中this指向object,也就是实例数组,所以我们可以直接使用this.length
来获取到原型数组的长度,如果长度为0,即数组没有元素的时候,我们直接返回-1,否则则返回数组的最后一项,即this[len - 1]
。完整AC代码如下:
AC代码
/** * @return {null|boolean|number|string|Array|Object} */ Array.prototype.last = function () { const len = this.length; if (!len) return -1; return this[len - 1]; };
公众号
关注公众号『前端也能这么有趣
』,获取更多有趣内容。
说在后面
🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『
前端也能这么有趣
』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。