for / in循环递减javascript

时间:2019-04-13 06:56:21

标签: javascript

我正在尝试减少js中的for / in循环。

我发现了很多关于减少for循环的指令,但是没有运气找到减少for / in循环的语句。

var classRegister = ["Lawrence", "John", "Jeff", "Bobbi"];
for( var index in classRegister ) { 
 console.log(classRegister[index]);
}

这是我要修改为递减的for / in循环语句。

3 个答案:

答案 0 :(得分:3)

使用基本的for循环并避免for..in迭代数组

var classRegister = ["Lawrence", "John", "Jeff", "Bobbi"];
for (let i = classRegister.length - 1; i >= 0; i--) {
  console.log(classRegister[i]);
}

答案 1 :(得分:2)

如果您想使用它,只需从最后一个索引值中减去索引即可。

.scalar()

答案 2 :(得分:1)

您不应将for..in用于数组,而应使用简单循环

var classRegister = ["Lawrence", "John", "Jeff", "Bobbi"];
for(let index = classRegister.length-1; index >= 0; index-- ) { 
 console.log(classRegister[index]);
}

或一会儿循环

var classRegister = ["Lawrence", "John", "Jeff", "Bobbi"];
let index = classRegister.length-1;

while(index >= 0) { 
 console.log(classRegister[index]);
 index--;
}

有一些骇人听闻的方法可以做,但是您绝不能使用IMO

var classRegister = ["Lawrence", "John", "Jeff", "Bobbi"];

let copy = [...classRegister].reverse()  // this reverse array in place

for( var index in copy ) { 
 console.log(copy[index]);
}