如果日期相同,则合并数组中的对象

时间:2019-03-12 20:47:47

标签: javascript arrays ecmascript-6 lodash

我有一个对象数组。如果2个或更多对象共享同一日期,我想将它们合并为一个对象。例如,如果我有这个:

const rawData = [
  {
    date: '3/10/2019',
    a: '123',
  },
  {
    date: '3/10/2019',
    b: '456',
  },
  {
    date: '3/11/2019',
    a: '789',
  },
  {
    date: '3/11/2019',
    b: '012',
  },
  {
    date: '3/11/2019',
    c: '345',
  }
];

然后我希望修改后的数组看起来像这样:

const myDesiredResult = [
  {
    date: '3/10/2019',
    a: '123',
    b: '456',
  },
  {
    date: '3/11/2019',
    a: '789',
    b: '012',
    c: '345',
  }
];

原始对象将始终包含2个项目,日期和其他内容,但是与日期配对的对象没有限制。范围可以是-c,a-z等。

只要有一种干净的方法,我宁愿使用普通的javascript来做到这一点,但如有必要,我愿意使用lodash。

0 个答案:

没有答案