箭头函数配合 map 是提取数组对象属性最简洁的方式:直接返回单个属性(如 users.map(user => user.name))、解构参数(如 items.map(({id, title}) => ({id, title})))、安全访问嵌套属性(如 data.map(item => item.user?.profile?.name ?? '匿名'))。

箭头函数配合 map 是提取数组中对象属性最简洁的方式之一,核心在于用一行表达式直接返回目标属性值。
直接返回单个属性值
当每个对象结构一致,只需提取一个字段(如 id、name)时,可省略花括号和 return 关键字:
-
users.map(user => user.name)→ 返回所有name组成的新数组 -
products.map(p => p.price * 1.1)→ 可同时计算,不局限于原属性
解构参数简化写法
若只关心某几个属性,可在参数位置直接解构,让逻辑更聚焦:
-
items.map(({ id, title }) => ({ id, title }))→ 提取并重组部分字段 -
list.map(({ status = 'pending' }) => status)→ 支持默认值,避免undefined
嵌套属性安全提取(需谨慎)
遇到深层嵌套(如 user.profile.avatar.url),直接链式访问可能报错。推荐结合可选链操作符(?.):
-
data.map(item => item.user?.profile?.name)→ 安全读取,缺失时返回undefined - 如需兜底值,可接空值合并:
item.user?.profile?.name ?? '匿名'
避免常见陷阱
箭头函数没有自己的 this 和 arguments,但在 map 中通常不是问题;真正要注意的是:
- 别在箭头函数里写多语句逻辑——必须加花括号和
return,否则隐式返回undefined - 不要试图用
map做过滤或副作用操作,它专为“一对一映射”设计 - 若需异步处理(如请求每个用户的详情),
map+ 箭头函数无法直接等待,得配合Promise.all
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











