我们可以使用for-of循环访问数组元素:

For (const j of [1,2,3,4,5]) { console.log (j); }

我如何修改这段代码来访问当前索引?我想使用for-of语法来实现这一点,既不是forEach也不是for-in。


当前回答

在这个花哨的新本地函数的世界里,我们有时会忘记基本的东西。

for (let i = 0; i < arr.length; i++) {
    console.log('index:', i, 'element:', arr[i]);
}

干净,高效,你仍然可以打破循环。奖金!你也可以从结尾开始,用i——!

额外注意:如果你在循环中经常使用这个值,你可能希望执行const value = arr[i];在循环的顶部为一个简单的,可读的参考。

其他回答

另一种方法是使用Array.prototype.forEach() as

Array.from ({ 长度:5 }, () => Math.floor(Math.random() * 5))。forEach((val, index) => { console.log (val,索引) })

您还可以使用JavaScript来解决您的问题

迭代(item, index) { Console.log (' ${item}有索引${index} '); //做你想做的… } readJsonList () { jsonList.forEach (this.iterate); //它可以是任何数组列表。 }

只需在循环之前创建一个变量并分配一个整数值。

设index = 0;

然后使用加法赋值运算符进入循环作用域

指数+= 1;

就是这样,检查下面的代码片段示例。

设index = 0; For (const j of [1,2,3,4,5]) { console.log(指数,指数); 指数+= 1; }

es6的……

for(const index in [15, 64, 78]) {                        
    console.log(index);
}

数组#entries返回索引和值,如果你需要两者:

for (let [index, value] of array.entries()) {

}