Javascript 如何按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,并在整个文件中重复这一点。如何浏览对象列表,找到具有匹配id的两个对象并将它们合并为一个对象

[    
   {
      "_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不客气!: