for循环是javascript遍历数组最基础可控的方式,适合需索引、中途退出或复杂逻辑的场景;标准for循环语法清晰,通过索引逐个访问元素。

JavaScript 中用 for 循环遍历数组是最基础、最可控的方式,适合需要索引、中途退出或复杂控制逻辑的场景。
标准 for 循环(推荐初学者掌握)
语法结构清晰,通过索引逐个访问元素:
const arr = ['a', 'b', 'c']; for (let i = 0; i
- i 从 0 开始,对应数组第一个元素的下标
-
条件写
i,不是i ,更简洁安全 -
使用
let声明 i,避免变量提升和作用域问题
倒序遍历(适用于边遍历边删除元素)
从末尾往开头走,可安全地在循环中用 splice() 删除当前项,不影响后续索引:
const nums = [1, 2, 3, 4, 5];
for (let i = nums.length - 1; i >= 0; i--) {
if (nums[i] % 2 === 0) {
nums.splice(i, 1); // 删除偶数
}
}
console.log(nums); // [1, 3, 5]
- 正序删除会导致跳过下一个元素(因为后方元素前移)
- 倒序则不受影响,是经典解法
注意边界与常见错误
稍不注意就容易出错,尤其在动态修改数组时:
-
不要在循环中直接修改
arr.length(比如arr.length = 0),可能提前终止 -
避免把
arr.length写进循环体里反复计算,虽现代引擎会优化,但显式缓存更清晰:for (let i = 0, len = arr.length; i -
不用
for...in遍历数组——它枚举属性名(包括原型链上的),顺序不保证,且可能遍历到非数字键
对比其他遍历方式(简要参考)
for 循环强调“过程控制”,而其他方法侧重“意图表达”:
-
forEach():语义清晰,但不能用break/continue或返回值 -
for...of:简洁,支持break/continue,但拿不到索引(除非手动计数) -
map/filter/reduce:函数式风格,生成新数组,不修改原数组
选 for 循环,当你需要索引、想提前退出、或逻辑较复杂时,它最直接可靠。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











