【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 {};
相关推荐
程序员小远17 小时前
UI自动化测试框架:PO模式+数据驱动
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
2501_9418053117 小时前
从微服务网关到统一安全治理的互联网工程语法实践与多语言探索
前端·python·算法
源代码•宸17 小时前
Leetcode—1161. 最大层内元素和【中等】
经验分享·算法·leetcode·golang
CodeByV18 小时前
【算法题】模拟
算法
s090713618 小时前
FPGA加速:Harris角点检测全解析
图像处理·算法·fpga开发·角点检测
前端程序猿之路18 小时前
30天大模型学习之Day 2:Prompt 工程基础系统
大数据·人工智能·学习·算法·语言模型·prompt·ai编程
2301_8008951018 小时前
h的蓝桥杯每日一题
职场和发展·蓝桥杯
星火开发设计18 小时前
堆排序原理与C++实现详解
java·数据结构·c++·学习·算法·排序算法
2501_9418036218 小时前
在柏林智能城市照明场景中构建实时调控与高并发能耗数据分析平台的工程设计实践经验分享
算法
言之。18 小时前
DDIA第四章 数据库存储引擎面试问题集
数据库·面试·职场和发展·ddia