在 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!

推薦閱讀: