У меня есть массив:
array = [
{
"id": 1,
"Price": 100,
"Item": {"id": 1, Name: "A"},
"Date": {"id": 1, Start: "202001"}
},
{
"id": 2,
"Price": 200,
"Item": {"id": 1, Name: "A"},
"Date": {"id": 2, Start: "202002"}
},
{
"id": 3,
"Price": 300,
"Item": {"id": 3, Name: "B"},
"Date": {"id": 2, Start: "202002"}
}
]
И я хочу иметь возможность суммировать значения за заданный период, как показано в таблице:
Любое предложение? Благодарить!
Спасибо! Я сделаю это.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


взгляните на это, это направит вас по правильному пути
var aHolder = 0;
for(var i = 0; i<array.length; i++){
if (array[i].Date.Start === '202002') {
aHolder = aHolder + array[i].Price;
}
}
console.info(aHolder);
Спасибо! Я думаю, это может сработать. в примере нужно исправить arr на array. Он делает сумму для данного Item, теперь я хочу сделать сумму для данного Date
Работает, но только с определенным периодом. Мне нужно построить массив с результатами за каждый период. Предложения
добавить еще один var , например. var secondPeriod = 0, а также добавить еще один оператор IF в цикл FOR
Добро пожаловать в Stack Overflow! Пожалуйста, посетите тур , посетите справочный центр и прочитайте , задавая хорошие вопросы . Проведя небольшое исследование и поиска связанных тем на SO, попробуйте сами. Если вы застряли, опубликуйте Минимальный, полный и проверяемый пример вашей заметки о попытке именно там, где вы застряли. Люди будут рады помочь.