【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 {};
相关推荐
牧瀬クリスだ1 分钟前
二叉树的基本操作
数据结构·算法
进击的确定3 分钟前
蓝桥杯二分查找
职场和发展·蓝桥杯
白毛大侠4 分钟前
内存对齐算法:向上取整到位运算
算法
Book思议-4 分钟前
【数据结构】线索二叉树之中序遍历线索化详解与实现
数据结构·算法·线索二叉树之中序遍历线索化
2501_920627615 分钟前
Flutter 框架跨平台鸿蒙开发 - 算法可视化应用
算法·flutter·华为·harmonyos
daxi1505 分钟前
C语言从入门到进阶——第18讲:内存函数
c语言·开发语言·算法
半夜删你代码·6 分钟前
24格半格区间拖拽选择
算法
小辉同志11 分钟前
17. 电话号码的字母组合
c++·算法·leetcode·深度优先
ytttr87315 分钟前
MATLAB ViBe算法视频前景提取完整实现
算法·matlab·音视频
你撅嘴真丑17 分钟前
和为给定数 与 最匹配的矩阵
c++·算法·矩阵