function myMap(arr, cal1back) [
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
中,并在循环结束后返回该数组。