當(dāng)需要從 JavaScript 中的數(shù)組中獲取最后一個(gè)元素時(shí),有多種選擇,本文將提供 3 種可用方法。
1. 數(shù)組 length 屬性
length
屬性返回?cái)?shù)組中元素的數(shù)量。從數(shù)組的長(zhǎng)度中減去 1
得到數(shù)組最后一個(gè)元素的索引,使用它可以訪問最后一個(gè)元素。從長(zhǎng)度中減去 1
的原因是,在 JavaScript 中,數(shù)組索引編號(hào)從 0
開始。即第一個(gè)元素的索引將為 0
。因此,最后一個(gè)元素的索引將為數(shù)組的 length-1
。
const arrayTest = ["第一個(gè)元素", "第二個(gè)元素", "最后一個(gè)元素"];
const length = arrayTest.length;
const lastValue = arrayTest[length - 1];
console.log(lastValue); // 最后一個(gè)元素
2. 數(shù)組 slice 方法
slice()
方法從一個(gè)數(shù)組中返回特定的元素,作為一個(gè)新的數(shù)組對(duì)象。此方法選擇從給定開始索引開始到給定結(jié)束索引結(jié)束的元素,不包括結(jié)束索引處的元素。slice()
方法不會(huì)修改現(xiàn)有數(shù)組,提供一個(gè)索引值返回該位置的元素,負(fù)索引值從數(shù)組末尾計(jì)算索引。數(shù)組匹配的解構(gòu)賦值用于從 slice()
方法返回的數(shù)組中獲取元素。
const arrayTest = ["第一個(gè)元素", "第二個(gè)元素", "最后一個(gè)元素"];
const length = arrayTest.length;
const [lastValue] = arrayTest.slice(-1);
console.log(lastValue); // 最后一個(gè)元素
3. 數(shù)組 pop 方法
pop()
方法從數(shù)組中刪除最后一個(gè)元素并將其返回,此方法會(huì)修改原來的數(shù)組。如果數(shù)組為空,則返回 undefined
并且不修改數(shù)組。
const arrayTest = ["第一個(gè)元素", "第二個(gè)元素", "最后一個(gè)元素"];
const length = arrayTest.length;
const lastValue = arrayTest.pop();
console.log(lastValue); // 最后一個(gè)元素
console.log(arrayTest); // [ '第一個(gè)元素', '第二個(gè)元素' ]
性能比較
讓按性能比較這 3 種方法。
const arrayTest = ["第一個(gè)元素", "第二個(gè)元素", "最后一個(gè)元素"];
console.time("==> length");
const length = arrayTest.length;
let lastValue = arrayTest[length - 1];
console.log(lastValue);
console.timeEnd("==> length");
console.time("====> slice");
let [lastValue1] = arrayTest.slice(-1);
console.log(lastValue1);
console.timeEnd("====> slice");
console.time("======> pop");
let lastValue2 = arrayTest.pop();
console.log(lastValue2);
console.timeEnd("======> pop");
輸出的結(jié)果如下:
最后一個(gè)元素
==> length: 6.38ms
最后一個(gè)元素
====> slice: 0.038ms
最后一個(gè)元素
======> pop: 0.033ms
總結(jié)
pop()
方法是最快的,如果可以修改數(shù)組,則可以使用它。如果你不想改變數(shù)組,可以使用 slice()
方法。利用數(shù)組 length 屬性的方法是最慢的,屬于是獲取數(shù)組最后一個(gè)元素的最常用方法。
最后
整理了一套《前端大廠面試寶典》,包含了HTML、CSS、JavaScript、HTTP、TCP協(xié)議、瀏覽器、VUE、React、數(shù)據(jù)結(jié)構(gòu)和算法,一共201道面試題,并對(duì)每個(gè)問題作出了回答和解析。
有需要的小伙伴,可以點(diǎn)擊文末卡片領(lǐng)取這份文檔,無償分享
部分文檔展示:
文章篇幅有限,后面的內(nèi)容就不一一展示了文章來源:http://www.zghlxwxcb.cn/news/detail-460407.html
有需要的小伙伴,可以點(diǎn)下方卡片免費(fèi)領(lǐng)取文章來源地址http://www.zghlxwxcb.cn/news/detail-460407.html
到了這里,關(guān)于JavaScript 中獲取數(shù)組最后一個(gè)元素3種方法及性能的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!