map提取对象数组字段需传入返回目标属性的函数:可直接访问属性、返回新对象、用?.或??防错、支持参数解构。

用 map 提取对象数组中的字段,核心是传入一个函数,返回你想要的属性值。
基础写法:直接访问属性名
假设你有一组用户数据,想提取所有人的名字:
const users = [
{ id: 1, name: '张三', age: 25 },
{ id: 2, name: '李四', age: 30 },
{ id: 3, name: '王五', age: 28 }
];
const names = users.map(user => user.name);
// ['张三', '李四', '王五']
提取多个字段:返回新对象
如果需要同时拿几个字段,可以返回一个精简对象:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
const nameAndAge = users.map(user => ({
name: user.name,
age: user.age
}));
// [{ name: '张三', age: 25 }, { name: '李四', age: 30 }, ...]
处理可能不存在的字段(防报错)
当某些对象可能缺少目标属性时,用可选链操作符 ?. 或逻辑运算符兜底:
立即学习“Java免费学习笔记(深入)”;
-
user?.name—— 属性或对象为null/undefined时不报错,返回undefined -
user.name ?? '未知'—— 为空时提供默认值 -
(user && user.name) || '未知'—— 兼容老环境的写法
配合解构让代码更简洁
在箭头函数参数中直接解构,提升可读性:
const ids = users.map(({ id }) => id); // 提取 id
const fullNames = users.map(({ name, age }) => `${name}(${age}岁)`);

















