Под условия price > 80 и quantity < 7 подходит только пицца «Итальян». Её weight равен 740, а quantity=1, поэтому общий вес равен 740 единицам исходных данных.
Подсчёт суммарного веса товаров по заданным условиям
Под условия price > 80 и quantity < 7 подходит только пицца «Итальян». Её weight равен 740, а quantity=1, поэтому общий вес равен 740 единицам исходных данных.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Определите общий вес всех позиций, у которых цена превышает 80, а количество — меньше 7.
const food = [
{name: "Паста «Болоньезе»", weight: 350, price: 68, quantity: 10},
{name: "Спагетти с овощами", weight: 350, price: 56, quantity: 8},
{name: "Пене с куриным филе", weight: 400, price: 68, quantity: 16},
{name: "Пицца «Куриная с ананасами»", weight: 675, price: 139, quantity: 30},
{name: "Пицца «Четыре сезона метро»", weight: 1600, price: 339, quantity: 8},
{name: "Пицца «Итальян»", weight: 740, price: 159, quantity: 1},
{name: "Салат «Джонатан с семгой»", weight: 230, price: 77, quantity: 41},
{name: "Салат «Цезарь с креветкой»", weight: 230, price: 69, quantity: 5}
];
Ответ
Под условия price > 80 и quantity < 7 подходит только пицца «Итальян». Её weight равен 740, а quantity=1, поэтому общий вес равен 740 единицам исходных данных.
const totalWeight = food.reduce((sum, item) => {
return item.price > 80 && item.quantity < 7
? sum + item.weight * item.quantity
: sum;
}, 0);
Если weight уже обозначает вес всей позиции, а не одной единицы, умножение на quantity нужно убрать. На данном примере оба прочтения дают 740, поскольку подходящая запись имеет количество 1. Границы строгие: цена ровно 80 и количество ровно 7 не подходят.