Есть массив объектов. Из него нужно получить сумму полей price только из тех объектов у которых paid === true и pass совпадает с pass из первого объекта массива. Свой вариант написал. Возможно есть более рациональное решение? Спасибо!
let array = [{
"pass": 1,
"order": [{
"paid": true,
"price": 450
},{
"paid": false,
"price": 30
}, {
"paid": true,
"price": 70
}]
}, {
"pass": 2,
"order": [{
"paid": false,
"price": 450
}, {
"paid": true,
"price": 30
}, {
"paid": false,
"price": 70
}]
},{
"pass": 1,
"order": [{
"paid": true,
"price": 450
}, {
"paid": false,
"price": 30
}, {
"paid": true,
"price": 70
}]
}
]
//----------- Мой вариант -----------
let finAmount = 0;
for(let item in array) {
if(array[0].pass === array[item].pass) {
let subAmount = 0;
for(let subitem of array[item].order) {
if(subitem.paid === true) {
subAmount+=subitem.price;
}
}
finAmount+=subAmount
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей