【发布时间】:2021-03-18 06:36:14
【问题描述】:
我有一个对象数组,它有一个内部对象数组,我想将父对象的 id 推送到每个子对象。
a = [
{id: 'abc', stage: [{name: 'car' , value: '123'},{name: 'bus' , value: '345'},{name: 'truck' , value: '567'}],
{id: 'def', stage: [{name: 'bike' , value: '890'},{name: 'cycle' , value: '123'},{name: 'car' , value: '456'}]}
]
expected output = [
{name: 'car' , value: '123', id: 'abc'},{name: 'bus' , value: '345', 'abc'},{name: 'truck' , value: '567', 'abc'}, {name: 'bike' , value: '890', id: 'def'},{name: 'cycle' , value: '123',id: 'def',id: 'def'},{name: 'car' , value: '456', id: 'def'}
]
我能够获得唯一的舞台,但无法将 id 推送到每个对象。请帮忙
const getAllStages = [].concat(...map(a, el => el.stage));
console.log(getAllStages )
【问题讨论】:
-
什么是
map()? -
它的 lodash 地图.. import { map } from 'lodash';对于角度
-
为什么要连接到一个空数组?删掉这一步:
[ ...map(...) ],甚至只是map(...)本身,它无论如何都会返回一个数组,这就是你想要的。 -
如果你使用 Lodash,那就更简单了:
_.map(a, 'stage')。完成。 -
好的....但我希望将 id 添加到每个对象。现在我只得到阶段
标签: javascript angularjs lodash