У меня есть массив объектов.
let data = [
{year: 2018, monthNumber: 0, rev: 40984, exp: 15525, profit: 25459}
{year: 2018, monthNumber: 0, rev: 162457, exp: 53608, profit: 108849}
{year: 2019, monthNumber: 0, rev: 8935, exp: 12514, profit: -3579}
{year: 2019, monthNumber: 0, rev: 32354, exp: 11184, profit: 21170}
{year: 2018, monthNumber: 1, rev: 30620, exp: 16974, profit: 13646}
{year: 2018, monthNumber: 1, rev: 9050, exp: 12431, profit: -3381}
{year: 2019, monthNumber: 1, rev: 9050, exp: 12522, profit: -3472}
{year: 2019, monthNumber: 1, rev: 12265, exp: 12752, profit: -487}
{year: 2018, monthNumber: 2, rev: 9955, exp: 12424, profit: -2469}
{year: 2018, monthNumber: 2, rev: 13657, exp: 13424, profit: 233}
{year: 2019, monthNumber: 2, rev: 9050, exp: 12410, profit: -3360}
{year: 2019, monthNumber: 2, rev: 15045, exp: 13315, profit: 1730}
]
Цель состоит в том, чтобы сначала динамически СУММИТЬ все значения ключей в один массив в зависимости от года и monthNumber.
Исходный массивЭто всего лишь образец, есть несколько дополнительных ключей, кроме «exp», «profit» и т. д. Я хотел бы сделать его динамичным и избегать упоминания каждого ключа.
[
{year: 2018, monthNumber: 0, rev: 203441, exp: 69133, profit: 134308}
{year: 2019, monthNumber: 0, rev: 41289, exp: 23698, profit: 17591}
{year: 2018, monthNumber: 1, rev: 39670, exp: 29405, profit: 10265}
{year: 2019, monthNumber: 1, rev: 21315, exp: 25274, profit: -3959}
{year: 2018, monthNumber: 2, rev: 23612, exp: 25848, profit: -2236}
{year: 2019, monthNumber: 2, rev: 24095, exp: 25725, profit: -1630}
]
и после этого достигните следующегожелаемый вывод:
{
rev : {
2019 : [203441, 39670, 23612],
2018 : [41289, 21315, 24095],
},
exp : {
2019 : [69133, 29405, 25848],
2018 : [23698, 25274, 25725],
},
profit: {
2019 : [134308, 10265, -2236],
2018 : [17591, -3959, -1630],
}
}