在 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
}
假设我的代码结构如下,
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
}