for循环遍历数组最直接,需正确设置初始值、终止条件和计数器更新;应缓存array.length避免重复调用,空数组时循环体不执行;适合需索引、break或复杂步长的场景。

JavaScript 中用 for 循环遍历数组最直接,关键在于正确设置初始值、终止条件和计数器更新逻辑。
基础 for 循环遍历数组
标准写法是用索引从 0 开始,逐个访问数组元素。注意数组长度用 array.length,且循环条件用 i (不是
<ul>
<li><font color="gray">let arr = ['a', 'b', 'c'];</font></li>
<li><font color="gray">for (let i = 0; i </font></li>
<li><font color="gray"> console.log(arr[i]); // 输出 a, b, c</font></li>
<li><font color="gray">}</font></li>
</ul>
<h3>在循环中安全使用计数器</h3>
<p>计数器(如 <code>i)本质就是普通变量,可在循环体内读取、修改或用于逻辑判断,但需留意:修改它可能影响循环次数,除非有意为之。
- 需要跳过某项?可用
continue,不推荐直接改i值 - 想重复处理当前项?可手动
i--,但要小心死循环 - 统计满足条件的元素个数?声明外部变量,在循环内递增:
let count = 0;
for (let i = 0; i if (arr[i] > 10) count++;
}
避免常见错误
初学者常因忽略动态长度或闭包问题出错。例如在循环中创建函数并引用 i,结果所有函数都捕获到最后的 i 值。
- 若需在回调中保留当前索引,用
let声明(块级作用域)或传参方式:
for (let i = 0; i setTimeout(() => console.log(i), 100); // 正确输出 0,1,2
} - 不要在循环条件里反复调用方法(如
getItems().length),应提前缓存长度 - 空数组时
arr.length为 0,循环体不会执行,这是预期行为
何时考虑其他遍历方式
for 循环控制力强,适合需要索引、提前退出(break)、或复杂步长(如 i += 2)的场景。若只是逐项操作,forEach 更简洁;需生成新数组用 map;要筛选用 filter。但涉及计数、索引运算或性能敏感场景,传统 for 仍是首选。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











