在 javascript 中如何快速獲取數組指定位置的元素
前言
在 JavaScript 中如果我們需要獲取一個數組指定位置的元素,通常情況下,我們一般采用以下方法:
1.通過下標直接獲取指定元素:arr[index], index 為非負數。
let arr = [1, 4, 5, 8, 10] // 獲取數組的第一個元素 let num1 = arr[0] // 獲取數組的最後一個元素 let num2 = arr[arr.length - 1] // 獲取數組的倒數第二個元素 let num3 = arr[arr.length - 2] console.log(num1, num2, num3); // 1 10 8
根據正序位置獲取指定的元素比較方便,但是根據逆序位置(倒數第幾個)獲取指定的元素稍微繁瑣(需要計算出正序位置)。
正序時 index 為正整數或0,逆序時 index 為負整數。
那麼獲取對應位置元素的表達式可以表示為:
index 為正數或0:arr[index]
index 為負數: arr[arr.length + index]
2.通過 slice 方法獲取
let arr = [2, 4, 6, 8, 10] // 獲取數組的第一個元素 let num4 = arr.slice(0, 1) // 獲取數組的最後一個元素 let num5 = arr.slice(-1) // 獲取數組的倒數第二個元素 let num6 = arr.slice(-2, -1) console.log(num4[0], num5[0], num6[0]); // 2 10 8
其實在其他語言中比如 python 如果你想要獲取倒數第幾個元素是可以通過 arr[index] 直接獲取(如arr[-1]獲取倒數第一個元素), 但是在 JavaScript 中是不支持這樣獲取的。
為瞭更方便獲取數組指定位置的元素(無論時正序還是逆序位置),數組提供瞭一個內置方法 at() 可以通過元素下標直接獲取指定位置的數組元素
數組的 at() 方法
我們使用 at 方法實現以上案例:
let arr2 = [2, 4, 6, 8, 10] // 獲取數組的第一個元素 let num4 = arr2.at(0) // 獲取數組的最後一個元素 let num5 = arr2.at(-1) // 獲取數組的倒數第二個元素 let num6 = arr2.at(-2) console.log(num4, num5, num6); // 2 10 8
語法:at(index), index 是整數,其中包括負整數表示從左往右數第幾個元素。
獲取指定位置不存在的元素返回 undefined
let arr = [2, 4, 6, 8, 10] console.log(arr[5]); // undefined
獲取類數組指定位置元素
let likeArr = { length: 2, 0: 'vue', 1: 'react' } let lang = Array.prototype.at.call(likeArr, 0) console.log(lang); // vue
對比
方法 | 參數范圍 | 簡易程度 |
---|---|---|
arr[index] | 非負整數 | 逆序獲取元素時需要進行計算,相對繁瑣 |
slice(startIndex, endIndex) | 整數 | 一般需要一到兩個下標,相對繁瑣 |
at(index) | 整數 | 隻需一個下標 index ,相對簡單 |
到此這篇關於在 javascript 中快速獲取數組指定位置的元素的文章就介紹到這瞭,更多相關js獲取數組指定位置的元素內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- JavaScript偽數組和數組的使用與區別
- 結合康熙選秀講解vue虛擬列表實現
- JavaScript判斷是否為數組的各種方法匯總
- 分享JavaScript 類型判斷的幾種方法
- JavaScript數組詳細歸納