Есть массив: [['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