"```javascript function myForEach(arr, callback) { for (let i = 0; i < arr.length; i++) { callback(arr[i], i, arr); } }
上面的代码是一个使用 JavaScript 实现的与数组的 `forEach` 函数相同功能的函数。`myForEach` 函数接受两个参数:要遍历的数组和一个回调函数。在函数内部,我们使用 `for` 循环遍历数组,并在每次迭代时调用回调函数。回调函数接受三个参数:当前遍历的元素、当前元素的索引和原始数组。通过这样的方式,我们可以在每个元素上执行自定义的操作。
使用示例:
```javascript
const numbers = [1, 2, 3, 4, 5];
myForEach(numbers, function(number, index, array) {
console.log(`当前元素:${number}`);
console.log(`当前索引:${index}`);
console.log(`原始数组:${array}`);
});
输出结果:
当前元素:1
当前索引:0
原始数组:1,2,3,4,5
当前元素:2
当前索引:1
原始数组:1,2,3,4,5
当前元素:3
当前索引:2
原始数组:1,2,3,4,5
当前元素:4
当前索引:3
原始数组:1,2,3,4,5
当前元素:5
当前索引:4
原始数组:1,2,3,4,5
在上面的示例中,我们首先创建了一个包含一些数字的数组 numbers。然后,我们使用 myForEach 函数对数组进行遍历,并在每个元素上执行自定义的操作。在回调函数内部,我们通过 console.log 打印出当前元素、当前索引和原始数组。
通过自定义的 myForEach 函数,我们可以灵活地对数组的每个元素进行操作,实现与 forEach 函数相同的功能。这样的函数可以帮助我们更好地理解数组的遍历过程,并且可以根据具体需求对每个元素执行不同的操作。"