请你编写一段代码实现一个数组方法,使任何数组都可以调用 array.last()
方法,这个方法将返回数组最后一个元素。如果数组中没有元素,则返回 -1
。
示例 1 :
输入:nums = [1,2,3] 输出:3 解释:调用 nums.last() 后返回最后一个元素: 3。
示例 2 :
输入:nums = [] 输出:-1 解释:因为此数组没有元素,所以应该返回 -1。
提示:
0 <= arr.length <= 1000
0 <= arr[i] <= 1000
这题我来写的话,就是一个没有任何技术含量的分支语句解决。如下:
Array.prototype.last = function() {
if(this != null && this.length != 0){
return this[this.length - 1];
}
else{
return -1;
}
};
/**
* const arr = [1, 2, 3];
* arr.last(); // 3
*/
不过我去看了题解,有人是这么写的:
Array.prototype.last = function() {
return this[this.length - 1] ?? -1
};
用表达式 c = a ?? b 来解释,就是除了a为undefined或者null之外的任何值c = a,否则c = b。