題目詳情:
請你編寫(xie)一段代碼實現一個(ge)數組(zu)(zu)方法,使(shi)任(ren)何(he)數組(zu)(zu)都可(ke)以(yi)調(diao)用 array.last() 方法,這個(ge)方法將返回數組(zu)(zu)最后(hou)一個(ge)元素(su)。如果數組(zu)(zu)中(zhong)沒有元素(su),則返回 -1 。
你可以假設數組是(shi) JSON.parse 的輸(shu)出結果。
示例:
輸入:nums = [null, {}, 3]
輸出:3
解釋(shi):調用 nums.last() 后返回最后一個元素: 3。
解題思路:
使用(yong) Array.prototype 對象來擴展 last() 方(fang)法(fa)。通過(guo)為 Array.prototype 添加新的方(fang)法(fa),可(ke)(ke)以(yi)使任何數(shu)組都可(ke)(ke)以(yi)調用(yong)該方(fang)法(fa)。
在 last() 方法的實現中,首先(xian)判斷數組(zu)的長度是否為 0。如果是空數組(zu),則(ze)返(fan)回 -1。否則(ze),通過索引(yin) this.length - 1 訪問數組(zu)的最后一個元素,并將(jiang)其返(fan)回。
代碼實現:
// 擴展 Array.prototype 添加 last() 方法
Array.prototype.last = function () {
if (this.length === 0) {
return -1; // 數組為空,返回 -1
} else {
return this[this.length - 1]; // 返回數組最后一個元素
}
};
// 示例輸入
const nums = [null, {}, 3];
// 調用 last() 方法獲取數組的最后一個元素
const result = nums.last();
// 輸出結果
console.log(result);