当前位置:首页 > JavaScript

js实现 $.each

2026-03-14 08:07:01JavaScript

$.each 的实现方法

在 JavaScript 中,$.each 是 jQuery 中的一个常用方法,用于遍历数组或对象。以下是几种实现方式:

原生 JavaScript 实现

使用原生 JavaScript 可以实现类似 $.each 的功能。以下是一个简单的实现:

js实现 $.each

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

使用 Array.prototype.forEach

对于数组,可以直接使用 Array.prototype.forEach 方法:

js实现 $.each

[1, 2, 3].forEach(function(item, index) {
  console.log(index, item);
});

使用 Object.keysforEach

对于对象,可以结合 Object.keysforEach 实现遍历:

const obj = { a: 1, b: 2 };
Object.keys(obj).forEach(function(key) {
  console.log(key, obj[key]);
});

使用 ES6 的 for...offor...in

ES6 提供了更简洁的语法来遍历数组和对象:

// 数组
const arr = [1, 2, 3];
for (const item of arr) {
  console.log(item);
}

// 对象
const obj = { a: 1, b: 2 };
for (const key in obj) {
  if (obj.hasOwnProperty(key)) {
    console.log(key, obj[key]);
  }
}

注意事项

  • 如果是数组,确保使用 Array.isArray 检查类型。
  • 如果是对象,使用 hasOwnProperty 避免遍历原型链上的属性。
  • 回调函数的参数顺序通常是 (index, value)(key, value)

以上方法可以根据实际需求选择使用。

标签: jseach
分享给朋友:

相关文章

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的J…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…