当前位置:首页 > JavaScript

js 实现 each

2026-04-06 07:30:00JavaScript

js 实现 each

js 实现 each

JavaScript 实现 each 方法

在 JavaScript 中,可以通过多种方式实现类似 jQuery 的 each 方法,用于遍历数组或对象。

遍历数组的实现

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

遍历对象的实现

function each(obj, callback) {
  for (let key in obj) {
    if (obj.hasOwnProperty(key)) {
      callback(obj[key], key, obj);
    }
  }
}

通用实现(支持数组和对象)

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

使用示例

// 遍历数组
each([1, 2, 3], function(item, index) {
  console.log(index + ': ' + item);
});

// 遍历对象
each({a: 1, b: 2}, function(value, key) {
  console.log(key + ': ' + value);
});

注意事项

  • 对于对象遍历,建议使用 hasOwnProperty 检查以确保只遍历对象自身的属性
  • 可以通过在回调函数中返回 false 来提前终止遍历(类似 jQuery 的实现)
  • 现代 JavaScript 已内置类似方法,如 Array.prototype.forEachObject.keys().forEach()

标签: jseach
分享给朋友:

相关文章

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…