js 实现 each

实现 each 方法
在 JavaScript 中,each 方法通常用于遍历数组或对象。以下是几种常见的实现方式:
数组遍历的实现
function each(array, callback) {
for (let i = 0; i < array.length; i++) {
callback(array[i], i, array);
}
}
对象遍历的实现
function each(object, callback) {
for (let key in object) {
if (object.hasOwnProperty(key)) {
callback(object[key], key, object);
}
}
}
通用实现(同时支持数组和对象)
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);
});
注意事项
- 回调函数的参数顺序通常遵循 (value, key/index, collection) 的约定
- 对象遍历时需要使用 hasOwnProperty 检查,避免遍历原型链上的属性
- 可以使用 Array.isArray 判断是否为数组,确保正确处理不同类型的数据







