简体   繁体   中英

How to get value at a specific index of array In JavaScript?

I have an array and simply want to get the element at index 1.

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

How can I get the value at the 1st index of my array in JavaScript?

只需使用indexer

var valueAtIndex1 = myValues[1];

Array indexes in JavaScript start at zero for the first item, so try this:

var firstArrayItem = myValues[0]

Of course, if you actually want the second item in the array at index 1, then it's myValues[1] .

See Accessing array elements for more info.

你可以只使用[]

var valueAtIndex1 = myValues[1];

indexer ( array[index] ) is the most frequent use. An alternative is at array method:

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

If you come from another programming language, maybe it looks more familiar.

您可以使用[];

var indexValue = Index[1];

shift can be used in places where you want to get the first element ( index=0 ) of an array and chain with other array methods.

example:

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

Remember shift mutates the array, which is very different from accessing via an indexer.

Update 2022

With ES2022 you can use Array.prototype.at() :

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

at() also supports negative index, which returns an element from the end of the array:

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

Read more: MDN , JavascriptTutorial , Specifications

As you specifically want to get the element at index 1. You can also achieve this by using Array destructuring from ES6.

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

Or, As per ES2022. You can also use Array.at()

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM