【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 {};
相关推荐
weixin_413063215 分钟前
比较阅读理解opencv 和 LuminanceHDR中 色调映射Drago算法
opencv·算法·计算机视觉·hdr·色调映射
自我意识的多元宇宙5 分钟前
【数据结构】图----图的应用(拓扑排序)
数据结构·算法
itzixiao10 分钟前
L1-055 谁是赢家(10 分)[java][python]
java·python·算法
ghie909011 分钟前
运用强跟踪无迹卡尔曼滤波来实现捷联惯导的初始对准
算法
其实防守也摸鱼13 分钟前
面试常问问题总结--渗透测试工程师方向
网络·sql·面试·职场和发展·xss·工具·owasp
菜菜的顾清寒20 分钟前
力扣HOT100(21)相交链表
算法·leetcode·链表
七颗糖很甜26 分钟前
开源雷达NEXRAD Level 3 数据完整获取与 Python 处理教程
大数据·python·算法
JXNL@29 分钟前
TDK DPX105950DT 射频双工器全解析:从原理、参数到应用设计
算法
池塘的蜗牛30 分钟前
FMCW(2)-速度
算法
菜菜的顾清寒32 分钟前
力扣hot100(21)搜索二维矩阵 II
算法·leetcode·职场和发展