可以在for-of
循环中定义多个变量,如下面的代码所示?
let arr = ['red', 'green', 'blue'];
for (let x = 0, y of arr){
console.log(x++, y);
}
修改
let arr = ['red', 'green', 'blue'];
let x = 0;
for (let y of arr){
console.log(x++, y)
}
所以我想将此代码转换为第一个(或类似代码),从而减少代码行数。
答案 0 :(得分:4)
不,您无法在for
或for … of
循环中正常声明和初始化变量(就像在for … in
循环中一样)。
你可以做的是解构,对于你的用例,.entries()
iterator包含一个索引:
for (let [x, y] of ['red', 'green', 'blue'].entries())
console.log(x, y);
答案 1 :(得分:1)
不,这是不可能的,您只能在for...loop中定义一个变量。 babel或es6fiddle等编译器会为此类定义返回错误。