JavaScript如何从现有数组提取指定字段生成目标新数组
错误原因分析
你当前的写法不符合需求的原因如下:
...arr是直接把原数组的所有完整对象全部展开放入新数组,没有过滤掉不需要的title属性- 数组
arr本身不存在value属性,arr.value会返回undefined,相当于给新数组额外追加了一个无效的undefined元素
正确实现方案
使用数组的map方法遍历原数组,每个元素只返回包含value属性的新对象即可,示例代码:
const arrCopy = arr.map(item => ({ value: item.value }))
注意:箭头函数直接返回对象时需要用圆括号包裹对象,否则JS会把大括号识别为函数代码块而非返回值。
如果需要适配原对象属性更多、仅需排除title属性的场景,也可以用解构赋值实现:
const arrCopy = arr.map(({ title, ...rest }) => rest)
内容的提问来源于stack exchange,提问作者Thang
相关产品推荐
相关产品推荐

