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.forEach和Object.keys().forEach()






