map是JavaScript数组的内置方法,用于对原数组每个元素执行回调函数并返回等长新数组,不修改原数组;回调接收当前元素、索引、原数组三个参数,无return时新数组对应位置为undefined。

map 是 JavaScript 数组的内置方法,用于对原数组每个元素执行指定操作,并返回一个新数组,不修改原数组。
基本用法:传入一个回调函数
回调函数接收三个参数:当前元素、当前索引、原数组(通常只用第一个)。返回值会成为新数组对应位置的元素。
例如:
const numbers = [1, 2, 3]; const doubled = numbers.map(x => x * 2); console.log(doubled); // [2, 4, 6] console.log(numbers); // [1, 2, 3] —— 原数组不变
处理对象数组:提取或转换字段
常用于从对象列表中提取某个属性,或生成结构更简洁的新对象。
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
例如:
const users = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 }
];
const names = users.map(user => user.name);
console.log(names); // ['Alice', 'Bob']
<p>const nameAndYear = users.map(u => ({ name: u.name, birthYear: 2024 - u.age }));
// [{ name: 'Alice', birthYear: 1999 }, { name: 'Bob', birthYear: 1994 }]</p>注意点:返回值决定新数组内容
- 如果回调函数没有 return(或 return undefined),新数组对应位置是 undefined
- 不能用 map 替代 forEach 来“只做操作不收集结果”——该用 forEach 时别硬套 map
- map 不跳过稀疏数组的空位,但会为这些位置调用回调(此时当前元素是 undefined)
和 for...of / reduce 的区别
map 专为一对一映射转换**设计;
for...of 适合需要中途 break 或复杂控制流的遍历;
reduce 更适合需要累积计算(如求和、扁平化、分组)的场景。

















