js实现foreach
JavaScript 实现 forEach 方法
在 JavaScript 中,forEach 是数组的一个内置方法,用于遍历数组中的每个元素并执行回调函数。以下是实现 forEach 的几种方式:

原生 forEach 方法的使用
JavaScript 数组原生支持 forEach 方法,可以直接调用:

const array = [1, 2, 3];
array.forEach((item, index, arr) => {
console.log(item, index, arr);
});
item是当前遍历的元素。index是当前元素的索引。arr是原数组。
手动实现 forEach 方法
可以手动实现一个类似 forEach 的函数,模拟其行为:
function myForEach(array, callback) {
for (let i = 0; i < array.length; i++) {
callback(array[i], i, array);
}
}
const array = [1, 2, 3];
myForEach(array, (item, index, arr) => {
console.log(item, index, arr);
});
扩展 Array.prototype 实现
可以通过扩展 Array.prototype 来实现自定义的 forEach 方法:
Array.prototype.myForEach = function(callback) {
for (let i = 0; i < this.length; i++) {
callback(this[i], i, this);
}
};
const array = [1, 2, 3];
array.myForEach((item, index, arr) => {
console.log(item, index, arr);
});
注意事项
forEach方法不会返回新数组,仅用于遍历操作。- 无法通过
return或break中断forEach循环,如需中断,需使用for循环或some/every方法。 forEach会跳过空位(稀疏数组中的undefined或空槽)。
性能优化
对于大规模数据遍历,for 循环的性能通常优于 forEach,但在代码可读性上 forEach 更优。根据实际需求选择合适的遍历方式。






