下面是一个简单的实现 `myMap` 方法的例子:
function myMap(arr, callback) {
const newArr = [];
for (let i = 0; i < arr.length; i++) {
newArr.push(callback(arr[i], i, arr));
}
return newArr;
}
使用这个方法时,你需要传入一个数组和一个回调函数作为参数。回调函数接收当前迭代的元素值、元素索引和原始数组作为参数,并返回一个新的值。`myMap` 方法将遍历数组,并通过回调函数对每个元素进行处理,将处理后的结果存储在一个新的数组中,并返回该数组。
下面是一个示例,展示如何使用 `myMap` 方法:
const numbers = [1, 2, 3, 4, 5];
const doubled = myMap(numbers, (num) => num * 2);
console.log(doubled); // 输出: [2, 4, 6, 8, 10]
const squared = myMap(numbers, (num) => num ** 2);
console.log(squared); // 输出: [1, 4, 9, 16, 25]
在上面的示例中,我们分别使用 `myMap` 方法将数组中的每个元素翻倍和平方,并将结果存储在新的数组中。