在 javascript 中的 for 循环内解构数组元素

Destructuring array elements inside the for loop in javascript

假设我的代码结构如下,

const fruits = [ `apple`, `banana`, `orange` ];

for ( let i = 0; i < fruits.length; i++ ) {

    const res = fruits[ i ];
    console.log ( res ); // apple banana orange
}

我想解构

const res = fruits[ i ];

有没有可能,我可以使用 forEach 实现解构,但我想使用 for 循环实现同样的效果。

提前致谢。

PS: 使用 forEach 或 for..in 可以完成,但我想在 for 循环中获得相同的解构。

如果您绝对想保留经典 for 循环:

const fruits = [`apple`, `banana`, `orange`];

for (let i = 0; i < fruits.length; i++) {
    const { [i]: res } = fruits;
    console.log(res); // apple banana orange
}

作为一种较短的语法,for..of 适用于可迭代对象(如数组)。

你可以这样使用它:

const fruits = [`apple`, `banana`, `orange`];

for (const fruit of fruits) {
    console.log(fruit); // apple banana orange
}

更进一步,您甚至可以在 for..of 循环中使用解构(例如:检索字符串长度):

const fruits = [`apple`, `banana`, `orange`];

for (const { length } of fruits) {
    console.log(length); // 5 6 6
}