javascript - 使用for循环通过带有array.length的javascript数组向后循环
问题描述
如果我有一个要循环的数组 = [8,7,6,5,4],为什么下面的 for 循环仍然有效,但数组的长度为 5,并且索引 5 处没有元素大批?
for(let i=array.length;i>=0;i++){
//do something
}
我知道从长度中减去1会更准确,但是为什么上面的代码仍然有效
解决方案
几乎。你必须:
- 减少
i
而不是增加,并且 - 从 开始
array.length-1
,因为数组索引从 0 开始,而不是 1。
所以改用:
for (let i = array.length-1; i >=0 ; i--) {
推荐阅读
- python - 在数据框中查找字符串并将新值存储在新列中
- javascript - React Native 查找导致可能未处理的承诺拒绝的原因
- swiftui - SwiftUI - 滚动时,行子视图中的 StateObject 被初始化并多次取消初始化
- mysql - 在数据库中使用 SQL 查询
- javascript - javascript中定义的变量的范围是什么?
- python - 查找与 pandas 数据框 avg 最接近的列
- python - 在蟒蛇?为什么子类从父类继承?当您使用 init of 方法分配父级时?但它不起作用
- xml - XML 将节点下移到另一个父节点
- python - matplotlib.animation.FuncAnimation 在一台计算机上运行,但在另一台计算机上运行
- r - 我在 R 数据编程中遇到了 FOR 和 IF 函数的任务