У меня есть объект заказов
{
someUserData,
createdAt: 2019-11-05T18:32:25.199+00:00,
total: 5
}
Я хочу получить такую структуру данных:
{
2019: {
0: 5,
1: 100
total: 999
}
}
2019 - год0,1 и т. Д. - месяцы, общая стоимость справаИтого: годовой доход
Я пробовал это:
calculateMonthlyRevenue = () => {
const { orders } = this.state;
const ordersMonthly = orders.map(x =>({
...x,
year: new Date(x.createdAt).getFullYear(),
month: new Date(x.createdAt).getMonth(),
}
));
const sumPerMonth = ordersMonthly.reduce((acc, cur) => {
acc[cur.year] = acc[cur.year] + cur.total || cur.total;
acc[cur.month] = acc[cur.month] + cur.total || cur.total;
return acc;
}, {})
};
акк дает мне
{
10: amount of all Novembers throught history,
2019: I get the total amount, that is good but the data structure is not
what I need.
}
Я пробовал это:
acc[cur.year][cur.month] = acc[cur.year][cur.month] + cur.total || cur.total;
и это
acc[cur.year[cur.month]] = acc[cur.year[cur.month]] + cur.total || cur.total;
И я все еще застреваю.
Верхняя строка кодов дает мне
9: amount
undefined: amount
Последняя строка кода выдает ошибку (Невозможно прочитать свойство undefined из 10)