如何在 JavaScript 中获取特定索引数组的值?

我有一个数组,只想得到索引1处的元素。

var myValues = new Array();
var valueAtIndex1 = myValues.getValue(1); // (something like this)

如何使用 JavaScript 获得数组第一个索引处的值?

514561 次浏览

可以使用括号符号访问器访问特定索引处的元素。

var valueAtIndex1 = myValues[1];

在较新的浏览器/JavaScript 引擎(点击这里查看浏览器兼容性)上,还可以对数组使用 .at()方法。

var valueAtIndex1 = myValues.at(1);

对于正值索引,两种方法的工作原理相同(第一种方法更为常见)。但是,Array.prototype.at()允许您通过传递一个负数来访问从数组末尾开始的元素。传递 -1给数组的最后一个元素,传递 -2给倒数第二个元素,等等。

详情请参阅 MDN 文档

对于第一项,JavaScript 中的数组索引从零开始,因此请尝试这样做:

var firstArrayItem = myValues[0]

当然,如果您实际上希望数组中的第二项位于索引1,那么它就是 myValues[1]

有关更多信息,请参见 访问数组元素

你可以使用 []:

var valueAtIndex1 = myValues[1];

你可以使用 [];

var indexValue = Index[1];

在需要获取数组的第一个元素(index=0)的地方,可以使用 shift和其他数组方法一起获取数组和链的第一个元素。

例如:

const comps = [{}, {}, {}]
const specComp = comps
.map(fn1)
.filter(fn2)
.shift()

记住,shift会使数组发生变异,这与通过索引器访问数组非常不同。

Indexer (array[index])是最常用的,另一种方法是 at数组方法:

const cart = ['apple', 'banana', 'pear'];
cart.at(0) // 'apple'
cart.at(2) // 'pear'

如果您来自另一种编程语言,也许它看起来更熟悉。

2022年最新情况

使用 ES2022你可以使用 Array.prototype.at():

const myValues = [1, 2, 3]
myValues.at(1) // 2

at()还支持负索引,返回一个 元素的末端数组:

const myValues = [1, 2, 3]
myValues.at(-1) // 3
myValues.at(-2) // 2

延伸阅读: MDN Javascript 教程,< a href = “ https://tc39.es/ 建议-相对索引-方法/# sec-array-model-addings”rel = “ nofollow noReferrer”> 规范

因为您特别希望获取索引1处的元素。您还可以通过使用 ES6中的 Array 解构来实现这一点。

const arr = [1, 2, 3, 4];
const [zeroIndex, firstIndex, ...remaining] = arr;
console.log(firstIndex); // 2

或者,根据 ES2022。您也可以使用 Array.at()

const arr = [1, 2, 3, 4];
console.log(arr.at(1)); // 2