我有一个对象数组,它有一个内部对象数组,我想把父对象的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 )
5条答案
按热度按时间omqzjyyz1#
再次使用
.map()
将el.id
添加到el.stage
的每个元素。您可以在外部Map中使用
.flatMap()
将所有结果连接到一个数组中。64jmpszr2#
如果您尝试在
id
中合并:其中,它将每个条目转换为一个对象,继承
a.id
值,并添加对象中的任何其他内容。nhjlsmyf3#
下面是一个例子和结果:)
结果:
hsvhsicv4#
您可以这样编写而不使用库
hjzp0vay5#