获取重复 ID 并将所有数据添加到一个 ID 中

我想提取相同标题的对象并将所有数据添加到一个对象中。


 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",

    }]


FFIVE
浏览 131回答 1
1回答

忽然笑

您可以使用 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;}, []);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript