js 实现each
实现 each 函数的方法
在 JavaScript 中,each 函数通常用于遍历数组或对象的元素。以下是几种常见的实现方式:
遍历数组的 each 函数
function each(array, callback) {
for (let i = 0; i < array.length; i++) {
callback(array[i], i, array);
}
}
遍历对象的 each 函数
function each(object, callback) {
for (let key in object) {
if (object.hasOwnProperty(key)) {
callback(object[key], key, object);
}
}
}
通用 each 函数(支持数组和对象)
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检查以避免遍历原型链上的属性 - 可以使用
break或return false来提前终止遍历(需在实现中添加相应逻辑)







