【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 {};
相关推荐
G***66914 小时前
算法设计模式:贪心与动态规划
算法·设计模式·动态规划
墨染点香4 小时前
LeetCode 刷题【160. 相交链表】
算法·leetcode·链表
少睡点觉4 小时前
LeetCode 238. 除自身以外数组的乘积 问题分析+解析
java·算法·leetcode
YoungHong19924 小时前
面试经典150题[066]:分隔链表(LeetCode 86)
leetcode·链表·面试
大千AI助手5 小时前
多叉树:核心概念、算法实现与全领域应用
人工智能·算法·决策树·机器学习··多叉树·大千ai助手
一只老丸5 小时前
HOT100题打卡第38天——贪心算法
算法·贪心算法
普通网友5 小时前
高性能TCP服务器设计
开发语言·c++·算法
醒过来摸鱼5 小时前
9.12 sinc插值
python·线性代数·算法·numpy
普通网友5 小时前
C++与硬件交互编程
开发语言·c++·算法
liliangcsdn5 小时前
EnsembleRetriever中的倒数融合排序算法
算法·排序算法