Javascript 贾维特。如何操纵对象数组,以便对具有相同元素的元素进行分组?

Javascript 贾维特。如何操纵对象数组,以便对具有相同元素的元素进行分组?,javascript,arrays,Javascript,Arrays,我将从MongoDB获取一个如下所示的数组: [ {date: '2019-10-05', score: 3}, {date: '2019-10-05', score: 5}, {date: '2019-10-06', score: 4}, {date: '2019-10-06', score: 1}, ] 我需要创建一个新数组,如下所示: [ {date: '2019-10-05', score: [3,5]}, {date: '2019-10-06', score:

我将从MongoDB获取一个如下所示的数组:

[
  {date: '2019-10-05', score: 3},
  {date: '2019-10-05', score: 5},
  {date: '2019-10-06', score: 4},
  {date: '2019-10-06', score: 1},
]
我需要创建一个新数组,如下所示:

[
  {date: '2019-10-05', score: [3,5]},
  {date: '2019-10-06', score: [4,1]}
]
基本上,根据日期属性将分数分组到相同的数组中。您可以使用和获得所需的输出:

const数据=[
{日期:'2019-10-05',分数:3},{日期:'2019-10-05',分数:5},
{日期:'2019-10-06',分数:4},{日期:'2019-10-06',分数:1},
];
const result=Object.values(
数据减少((r,c)=>{
r[c.date]=r[c.date]|{……c,分数:[]};
r[c.date].score.push(c.score);
返回r;
}, {})
);
控制台日志(结果)

。作为控制台包装{max height:100%!important;top:0;}
请查看map和reduce上javascript的类似问题。