当前位置:首页 > JavaScript

js实现 $.each

2026-03-14 08:07:01JavaScript

$.each 的实现方法

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

原生 JavaScript 实现

使用原生 JavaScript 可以实现类似 $.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 方法:

[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 提供了更简洁的语法来遍历数组和对象:

js实现 $.each

// 数组
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 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现图

js实现图

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

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…