Javascript 如何按id组合多个对象
我有一个数据集,它对两个不同的对象使用相同的_id,并在整个文件中重复这一点。如何浏览对象列表,找到具有匹配id的两个对象并将它们合并为一个对象Javascript 如何按id组合多个对象,javascript,object,Javascript,Object,我有一个数据集,它对两个不同的对象使用相同的_id,并在整个文件中重复这一点。如何浏览对象列表,找到具有匹配id的两个对象并将它们合并为一个对象 [ { "_id": "591323037ca83d48eac1ff31", "sessionStartTime": "2017-05-09T23:10:40.000Z", "sessionEndTime": "2017-05-10T07:28:40.000Z", "timeSessionM
[
{
"_id": "591323037ca83d48eac1ff31",
"sessionStartTime": "2017-05-09T23:10:40.000Z",
"sessionEndTime": "2017-05-10T07:28:40.000Z",
"timeSessionMinutes": 212,
},
{
"_id": "591323037ca83d48eac1ff31",
"eventSummary": "Working",
"eventActivity": "Work",
"eventStart": "2017-05-09T10:00:00+02:00",
"eventEnd": "2017-05-09T17:00:00+02:00"
},
{
"_id": "5917165b3ffac25462193490",
"sessionStartTime": "2017-05-12T22:06:09.000Z",
"sessionEndTime": "2017-05-13T06:12:09.000Z",
"timeSessionMinutes": 322,
},
{
"_id": "5917165b3ffac25462193490",
"eventSummary": "Traveling back home",
"eventActivity": "Travel",
"eventStart": "2017-05-09T17:00:00+02:00",
"eventEnd": "2017-05-09T17:30:00+02:00"
},
...
]
抱歉,如果已经回答,则无法找到此特定用例的解决方案 另一种方法是使用函数reduce按_id对对象进行分组,并使用函数Object.values提取分组对象 设arr=[{u id:591323037ca83d48eac1ff31,会话开始时间:2017-05-09T23:10:40.000Z,会话开始时间:2017-05-10T07:28:40.000Z,timeSessionMinutes:212,},{u id:591323037ca83d48eac1ff31,事件摘要:工作,事件活动:工作,事件开始:2017-05-09T10:00:00+02:00,事件结束:2017-05-09T17:00:00+02:00},{id:5917165b3ffac25462193490,会话开始时间:2017-05-12T22:06:09.000Z,会话时间:2017-05-13T06:12:09.000Z,timeSessionMinutes:322,},{id:5917165B3FFAC2546219490,事件摘要:回家旅行,事件活动:旅行,事件开始:2017-05-09T17:00:00+02:00,事件结束:2017-05-09T17:30:00+02:00}, 结果=Object.valuesarr.reducea,c=>{ Object.assigna[c[''u id']| a[c[''u id']]=Object.createnull,c; 返回a; },Object.createnull; console.logresult;
.作为控制台包装器{最大高度:100%!重要;顶部:0;}另请参见:谢谢,工作完美!@Samsoedien不客气!: