js map 实现
使用 JavaScript 的 map 方法
map 是 JavaScript 数组的一个高阶函数,用于对数组中的每个元素执行指定操作并返回一个新数组。以下是几种常见实现方式:

基本用法
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // 输出: [2, 4, 6, 8]
自定义 map 函数实现
可以通过手动实现一个类似 map 的函数来理解其原理:

function customMap(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];
const squared = customMap(numbers, num => num * num);
console.log(squared); // 输出: [1, 4, 9]
处理对象数组
map 也适用于对象数组的转换:
const users = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 }
];
const names = users.map(user => user.name);
console.log(names); // 输出: ['Alice', 'Bob']
链式调用
map 可以与其他数组方法(如 filter)链式调用:
const numbers = [1, 2, 3, 4, 5];
const evenSquares = numbers
.filter(num => num % 2 === 0)
.map(num => num * num);
console.log(evenSquares); // 输出: [4, 16]
注意事项
map不会修改原数组,而是返回一个新数组。- 回调函数接收三个参数:当前元素、索引和原数组。
- 如果需要对异步操作进行映射,需结合
Promise.all或其他异步处理方式。
通过以上方法,可以灵活使用 map 实现数组的遍历与转换。






