首页 > 解决方案 > 使用for循环通过带有array.length的javascript数组向后循环

问题描述

如果我有一个要循环的数组 = [8,7,6,5,4],为什么下面的 for 循环仍然有效,但数组的长度为 5,并且索引 5 处没有元素大批?

for(let i=array.length;i>=0;i++){
  //do something 
}

我知道从长度中减去1会更准确,但是为什么上面的代码仍然有效

标签: javascriptarraysfor-loopcontrol-flow

解决方案


几乎。你必须:

  • 减少i而不是增加,并且
  • 从 开始array.length-1,因为数组索引从 0 开始,而不是 1。

所以改用:

for (let i = array.length-1; i >=0 ; i--) {

推荐阅读