function myMap(arr, callback) [
const result = [];
for (let i = 0; i < arr .length; i++) {
result.push(callback(arr[i], i,arr));
}
return result;
}
// 示例用法
const numbers = [1, 2, 3,4,5];
const doubled = myMap (numbers, (num) => num*2 );
console.log(doubled); // 输出: [2,4,6,8,10]
在上述示例中,定义了一个名为 myMap 的函数,它接受两个参数:arr(要进行循环的数组)和 callback(每个元素的回调函数)。
在函数内部,创建了一个空数组 result,用于存储回调函数返回的值。
然后,使用 for 循环遍历数组 arr,对于每个元素,调用回调函数 callback,并将当前元素、索引和原始数组作为参数传递给回调函数。
最后,将回调函数的返回值添加到新数组 result 中,并在循环结束后返回该数组。