我想提取相同标题的对象并将所有数据添加到一个对象中。 new = [{ "data": [{ "displayName": "Peter pvt ltd", "name": "Peter Zon"}], "title": "9/9/2020", },{ "data": [{ "displayName": "Tom pvt ltd", "name": "Tom wang", }, { "displayName": "parker pvt ltd", "name": "parker wing", }], "title": "9/9/2020", }]我想要类似下面的东西:new = [{ "data": [{ "displayName": "Peter pvt ltd", "name": "Peter Zon", }, { "displayName": "Tom pvt ltd", "name": "Tom wang", }, { "displayName": "parker pvt ltd", "name": "parker wing", }], "title": "9/9/2020", }]
1 回答

忽然笑
TA贡献1806条经验 获得超5个赞
您可以使用 javascript 中的Array.reduce方法对对象数组进行分组。
const objects = [{
"data": [{ "displayName": "Peter pvt ltd", "name": "Peter Zon"}],
"title": "9/9/2020",
},{
"data": [{ "displayName": "Tom pvt ltd", "name": "Tom wang", }, { "displayName": "parker pvt ltd", "name": "parker wing", }],
"title": "9/9/2020",
}]
objects.reduce((acc,curr) => {
const target = acc.find(item => curr.title === item.title);
if(target) {
target.data = [...target.data, ...curr.data];
} else {
acc.push(curr);
}
return acc;
}, []);
添加回答
举报
0/150
提交
取消