【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 {};
相关推荐
会编程的土豆10 分钟前
01背包与完全背包详解
开发语言·数据结构·c++·算法
汀、人工智能31 分钟前
[特殊字符] 第86课:最大正方形
数据结构·算法·数据库架构·图论·bfs·最大正方形
hetao17338371 小时前
2026-04-12~14 hetao1733837 的刷题记录
c++·算法
lxh01131 小时前
正则表达式匹配
算法
SuperChe1 小时前
用AI Native的方式优化前端性能
前端·算法
jinyishu_2 小时前
几道链表经典算法题
c语言·数据结构·算法·链表
sparEE2 小时前
进阶排序算法:快速排序
数据结构·算法·排序算法
智者知已应修善业2 小时前
【51单片机4位数循环小数位移数值位移】2023-6-9
c++·经验分享·笔记·算法·51单片机
算法鑫探2 小时前
C语言入门:a和b 比大小
c语言·数据结构·算法·新人首发
不爱吃炸鸡柳2 小时前
算法复杂度从入门到精通:时间与空间复杂度全解析
开发语言·c++·算法