题目详情:
请你编写一段代码实现一个数组方法,使任何数组都可以调用 array.last() 方法,这个方法将返回数组最后一个元素。如果数组中没有元素,则返回 -1 。
你可以假设数组是 JSON.parse 的输出结果。
示例:
输入:nums = [null, {}, 3]
输出:3
解释:调用 nums.last() 后返回最后一个元素: 3。
解题思路:
使用 Array.prototype 对象来扩展 last() 方法。通过为 Array.prototype 添加新的方法,可以使任何数组都可以调用该方法。
在 last() 方法的实现中,首先判断数组的长度是否为 0。如果是空数组,则返回 -1。否则,通过索引 this.length - 1 访问数组的最后一个元素,并将其返回。
代码实现:
// 扩展 Array.prototype 添加 last() 方法
Array.prototype.last = function () {
if (this.length === 0) {
return -1; // 数组为空,返回 -1
} else {
return this[this.length - 1]; // 返回数组最后一个元素
}
};
// 示例输入
const nums = [null, {}, 3];
// 调用 last() 方法获取数组的最后一个元素
const result = nums.last();
// 输出结果
console.log(result);