【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 {};
相关推荐
m沐沐11 小时前
【深度学习】YOLOv2目标检测算法——改进点、网络结构与聚类先验框解析
人工智能·pytorch·深度学习·算法·yolo·目标检测·transformer
不会就选b11 小时前
算法日常・每日刷题--<链表>3
数据结构·算法·链表
测试界的世清11 小时前
各大厂软件测试面试题+答案纯干货
面试·职场和发展
geovindu12 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
SunShaoLu13 小时前
实测7款思维导图工具图片导出能力:PNG/SVG/PDF全支持,附选型指南
职场和发展·效率工具·思维导图
Zachery Pole14 小时前
CCF-CSP备战NO.7【队列】
算法
闪电悠米14 小时前
力扣hot100-48.旋转图像-转置翻转详解
算法·leetcode·职场和发展
满天星830357714 小时前
【算法】最长递增子序列(三种解法)
算法
啦啦啦啦啦zzzz15 小时前
算法:贪心算法
c++·算法·leetcode·贪心算法
清泓y17 小时前
RAG 技术
算法·ai