当前位置:首页 > JavaScript

js实现foreach

2026-03-15 06:38:00JavaScript

实现 forEach 方法

在 JavaScript 中,forEach 是数组的原生方法,用于遍历数组的每个元素并执行回调函数。以下是手动实现 forEach 的方法:

js实现foreach

Array.prototype.myForEach = function(callback) {
  for (let i = 0; i < this.length; i++) {
    callback(this[i], i, this);
  }
};

使用示例

const arr = [1, 2, 3];
arr.myForEach((item, index, array) => {
  console.log(`元素: ${item}, 索引: ${index}, 数组: ${array}`);
});

实现说明

  • 方法接收一个回调函数作为参数
  • 回调函数接收三个参数:当前元素、当前索引和原数组
  • 使用 for 循环遍历数组
  • 在每次迭代中调用回调函数

注意事项

  • 原生 forEach 方法不会改变原数组
  • 手动实现的版本也应保持这一特性
  • 回调函数中的 this 默认指向全局对象,可以使用第二个参数绑定上下文

绑定 this 的版本

Array.prototype.myForEach = function(callback, thisArg) {
  for (let i = 0; i < this.length; i++) {
    callback.call(thisArg, this[i], i, this);
  }
};

性能考虑

  • 原生 forEach 通常比手动实现的版本性能更好
  • 在需要中断循环的场景下,for 循环或 some/every 方法可能更合适

标签: jsforeach
分享给朋友:

相关文章

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与响应式…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…