I have such an array structure:
[
{
group: "perf",
subgroups: [
{
date: "2020-08-20",
number: 2
},
{
date: "2020-08-21",
number: 3
}
],
number: 5
},
{
group: "mobile",
subgroups: [
{
date: "2020-08-20",
number: 4
},
{
date: "2020-08-21",
number: 6
}
],
number: 10
},
{
group: "games",
subgroups: [
{
date: "2020-08-20",
number: 7
},
{
date: "2020-08-21",
number: 8
},
{
date: "2020-08-22",
number: 1
}
],
number: 16
},
{
group: "levels",
subgroups: [
{
date: "2020-08-09",
number: 4
},
{
date: "2020-08-20",
number: 9
},
{
date: "2020-08-21",
number: 11
}
],
number: 24
}
]
I need to create a mapper over this array to receive such output:
total - the overall sum of numbers for the specific date.
[
{
date: "2020-08-09",
total: 4,
levels: 4
},
{
date: "2020-08-20",
total: 22,
perf: 2,
mobile: 4,
games: 7,
levels: 9,
},
{
date: "2020-08-21",
total: 28,
perf: 3,
mobile: 6,
games: 8,
levels: 11,
},
{
date: "2020-08-22",
total: 1,
games: 1
}
]
How can this be achieved? I was trying, using reduce but cannot figure out, how to group it by dates.
Here's what I've tried so far: https://jsfiddle.net/wqhj62od/
Or maybe it can be done easily using lodash?
Thank you!