如何提取数组元素的内嵌对象生成指定结构的新数组
数组内嵌对象提取实现方案
问题排查
你的现有代码无法得到预期结果,原因有两个:
- 遍历目标数组名错误:你定义的原始数组是
data1,代码中错误写为data - 提取逻辑错误:
{...data}是把外层的整个对象属性全部展开,没有定位到你需要的内嵌details对象
正确实现代码
如果不需要新数组和原数组的数据隔离,直接返回每个元素的details属性即可:
const final = data1.map(item => item.details)
如果需要修改final数组内的对象时不影响原始data1的数据,可以对details做浅拷贝:
const final = data1.map(item => ({...item.details}))
逻辑说明
数组map方法会遍历数组的每一项,将回调函数的返回值作为新数组的对应元素。我们不需要外层的id、info等属性,直接返回每个元素下的details对象,就能得到你需要的目标结构。
内容的提问来源于stack exchange,提问作者Gray Singh
相关产品推荐
相关产品推荐

