JavaScript中如何从给定JSON数组生成保留指定字段的新数组
实现方法
你可以继续用map方法遍历employees数组,遍历过程中为每个元素返回仅包含name和email字段的新对象即可,共有两种常见实现方式:
方式1:直接构造返回对象(适合要保留的字段较少的场景)
假设你的原始JSON解析后存放在变量originData中,代码如下:
const result = { employees: originData.employees.map(item => ({ name: item.name, email: item.email })) }; // 如果需要得到JSON字符串,再加一步 const resultJsonStr = JSON.stringify(result, null, 2);
注意:箭头函数直接返回对象时需要用圆括号包裹对象,否则大括号会被识别为函数体边界导致报错。
方式2:解构+剩余运算符(适合要删除的字段较少的场景)
如果你需要保留的字段很多,只需要删除少量字段(比如这里只删age),可以用解构赋值+剩余属性的写法简化代码:
const result = { employees: originData.employees.map(({ age, ...rest }) => rest) };
这种写法会自动把除了age之外的所有属性都放到rest对象中返回,不用逐个写需要保留的字段名。
内容的提问来源于stack exchange,提问作者Lê Quốc Khánh
相关产品推荐
相关产品推荐

