重构数组的forEach和filter方法
时间: 2024-04-22 17:26:08 浏览: 94
重构数组的forEach和filter方法可以使用以下方式:
1. 重构forEach方法:
```javascript
const myForEach = (arr, callback) => {
for (let i = 0; i < arr.length; i++) {
callback(arr[i], i, arr);
}
};
// 使用示例
const numbers = [1, 2, 3, 4];
myForEach(numbers, (number, index) => {
console.log(`Number at index ${index}: ${number}`);
});
```
2. 重构filter方法:
```javascript
const myFilter = (arr, callback) => {
const filteredArr = [];
for (let i = 0; i < arr.length; i++) {
if (callback(arr[i], i, arr)) {
filteredArr.push(arr[i]);
}
}
return filteredArr;
};
// 使用示例
const numbers = [1, 2, 3, 4];
const evenNumbers = myFilter(numbers, (number) => number % 2 === 0);
console.log(evenNumbers);
```
通过以上方式,我们可以自定义实现forEach和filter方法,并在函数中传入回调函数来处理数组元素。这样可以更加灵活地控制数组的遍历和过滤操作。值得注意的是,自定义实现的方法命名为`myForEach`和`myFilter`,以与原生的`Array.prototype.forEach`和`Array.prototype.filter`方法进行区分。
阅读全文