对于es6 - 如何获得索引?

时间:2016-05-06 07:15:05

标签: javascript ecmascript-6

让我们说我们有一个阵列" myArray"我们想用for..of迭代它。我们正在搜索特定值,当我们找到它时,我们想要返回值所在的索引。所以,我有这个:

var myArray=[1,2,3,4,5];
for (let item of myArray) {
    if (item===3) {
        //return index?
    }
}

有没有办法获得索引?感谢。

1 个答案:

答案 0 :(得分:2)

它不是开箱即用的,但您可以使用新的Array.prototype.entries(),它会在index-value对上返回迭代器:

for (const [index, value] of myArray.entries()) {
    // ...
}

或者,您可以使用接受谓词的新Array.prototype.findIndex()并返回与其匹配的第一个元素的索引。例如:

myArray.findIndex(v => v > 10); // would return an index of a first value
                                // that is greater than 10