当前位置:首页 > JavaScript

js 实现each

2026-01-30 11:00:36JavaScript

实现 each 方法

在 JavaScript 中,each 方法通常用于遍历数组或对象。以下是几种实现方式:

js 实现each

数组的 each 方法

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

// 使用示例
const arr = [1, 2, 3];
arr.each((item, index) => {
  console.log(`Index ${index}: ${item}`);
});

对象的 each 方法

Object.prototype.each = function(callback) {
  for (const key in this) {
    if (this.hasOwnProperty(key)) {
      callback(this[key], key, this);
    }
  }
};

// 使用示例
const obj = { a: 1, b: 2, c: 3 };
obj.each((value, key) => {
  console.log(`Key ${key}: ${value}`);
});

通用 each 函数

function each(collection, callback) {
  if (Array.isArray(collection)) {
    for (let i = 0; i < collection.length; i++) {
      callback(collection[i], i, collection);
    }
  } else if (typeof collection === 'object' && collection !== null) {
    for (const key in collection) {
      if (collection.hasOwnProperty(key)) {
        callback(collection[key], key, collection);
      }
    }
  }
}

// 使用示例
each([1, 2, 3], (item, index) => {
  console.log(item, index);
});

each({ a: 1, b: 2 }, (value, key) => {
  console.log(key, value);
});

注意事项

  • 修改内置原型(如 Array.prototypeObject.prototype)可能会引起冲突,谨慎使用
  • 使用 hasOwnProperty 检查可以避免遍历到原型链上的属性
  • 回调函数的参数通常遵循 (value, index/key, collection) 的模式

标签: jseach
分享给朋友:

相关文章

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似:…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: functio…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…