【LeetCode】2619. 数组原型对象的最后一个元素

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

题目


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

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


示例 1 :

输入:nums = [null, {}, 3]

输出:3

解释:调用 nums.last() 后返回最后一个元素: 3


示例 2 :

输入:nums = []

输出:-1

解释:因为此数组没有元素,所以应该返回 -1


提示:

arr 是一个有效的 JSON 数组

0 <= arr.length <= 1000


题解

在定义 Array 类共用方法时,函数内的 this 代表本数组

ts 复制代码
declare global {
    interface Array<T> {
        last(): T | -1;
    }
}

Array.prototype.last = function<T>(): T | -1 {
    let list: T[] = [...this];
    if (!list.length) return -1;
    return list[list.length -1]
};

/**
 * const arr = [1, 2, 3];
 * arr.last(); // 3
 */

export {};
相关推荐
im_AMBER2 分钟前
Leetcode 144 位1的个数 | 只出现一次的数字
学习·算法·leetcode
暮冬-  Gentle°5 分钟前
C++中的工厂模式实战
开发语言·c++·算法
Lisssaa7 分钟前
打卡第二十二天
c++·算法·图论
pu_taoc8 分钟前
理解 lock_guard, unique_lock 与 shared_lock 的设计哲学与应用场景
开发语言·c++·算法
小刘不想改BUG10 分钟前
LeetCode 138.随机链表的复制 Java
java·leetcode·链表·hash table
XW010599919 分钟前
6-函数-1 使用函数求特殊a串数列和
数据结构·python·算法
myloveasuka25 分钟前
红黑树、红黑规则、添加节点处理方案
开发语言·算法
沉鱼.4427 分钟前
枚举问题集
java·数据结构·算法
2301_8101609527 分钟前
C++中的访问者模式高级应用
开发语言·c++·算法
郝学胜-神的一滴28 分钟前
走进计算机图形学的浪漫宇宙 | GAMES101 开篇课程全解析
c++·算法·图形渲染·计算机图形学