Как сложить значения, если даты совпадают?

Есть массив: [['10.1.2020',111], ['12.05.2020',222], ['1.09.2020',333], ['1.09.2020',555], ['15.8.2020',444]];

Нужно получить такой массив: [['10.1.2020',111], ['12.05.2020',222], ['1.09.2020',888], ['15.8.2020',444]];

Т.е. если даты совпадают, то их значения складываются.

Начал делать через reduce, но запутался, может быть через него и не сделать. Подскажите лаконичное решение, можно и не через reduce.

Код
let dates = [['10.1.2020',111], ['12.05.2020',222], ['1.09.2020',333], ['1.09.2020',555], ['15.8.2020',444]];

function parseDate(a){a=a.split('.');return new Date(a[2],a[1]-1,a[0])}

let arr = dates
  .sort((a, b) => parseDate(a[0]) - parseDate(b[0]))
  .reduce((pre, cur) => parseDate(pre[0]) == parseDate(cur[0]) ********* );

console.log(arr);


Этот же код на codepen: https://codepen.io/workcode/pen/eYZrxqy
  • Вопрос задан
  • 166 просмотров
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы