for循环适合需控制索引或提前终止的场景,性能高;forEach则写法简洁、可读性强,适用于简单遍历。两者选择取决于是否需跳出循环、代码风格及性能要求。

JavaScript数组的遍历是开发中非常基础且常用的操作。掌握不同的遍历方式,能让你在处理数据时更高效、代码更清晰。本文将详细介绍两种最常用的数组遍历方法:for循环和forEach,帮助你理解它们的用法、区别以及适用场景。
for循环遍历数组
for循环是最传统、性能较高的遍历方式,适用于大多数场景,尤其在需要控制索引或提前终止循环时非常实用。
基本语法如下:
for (let i = 0; i < array.length; i++) {
// 访问 array[i]
}
示例:
立即学习“Java免费学习笔记(深入)”;
const fruits = ['苹果', '香蕉', '橙子'];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
// 输出:
// 苹果
// 香蕉
// 橙子
特点:
- 可以直接访问索引 i,适合需要索引的场景
- 可以使用 break 中断循环,continue 跳过当前项
- 性能高,适合大数组处理
forEach方法遍历数组
forEach() 是数组内置的方法,语法更简洁,语义更明确,适合不需要中断遍历的场景。
基本语法:
array.forEach(function(item, index, arr) {
// item: 当前元素
// index: 当前索引(可选)
// arr: 原数组(可选)
});
示例:
立即学习“Java免费学习笔记(深入)”;
const colors = ['红', '绿', '蓝'];
colors.forEach(function(color, index) {
console.log(index + ': ' + color);
});
// 输出:
// 0: 红
// 1: 绿
// 2: 蓝
也可以使用箭头函数简化:
colors.forEach((color, index) => {
console.log(`${index} - ${color}`);
});
特点:
- 写法简洁,可读性强
- 自动传入元素、索引和原数组,无需手动管理i
- 不能使用 break 或 continue,想跳出只能抛出异常(不推荐)
- 不修改原数组,但可以在回调中操作元素
for循环与forEach如何选择?
两者各有优势,选择取决于具体需求:
- 如果你需要中途跳出循环(比如找到某个值就停止),用 for 循环更合适
- 如果只是简单地处理每个元素,forEach 更清晰优雅
- 对性能要求极高或数组很大时,for 循环通常更快
- 在函数式编程风格中,forEach 更符合“声明式”理念
基本上就这些。for循环灵活可控,forEach简洁易读。根据实际场景选择合适的方式,能让代码更高效也更易维护。










