Задать вопрос
@darktowerk56c

Как посчитать сумму товаров?

Есть массив:

const data = [
    {
        id: 1,
        productName: 'Телефон',
        price: 50000,
        count: 2
    },
    {
        id: 2,
        productName: "Телевизор",
        price: 60000,
        count: 3
    },
    {
        id: 3,
        productName: "Компьютер",
        price: 40000,
        count: 5
    }
];

где price - это цена товара, а count - количество добавленного товара.
Как посчитать общую сумму всех добавленных товаров?
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Как вычислить сумму для одного элемента - очевидно же, умножаем количество на цену:

const getItemSum = item => item.count * item.price;

Дальше надо перебрать массив и сложить суммы каждого. Перебирать массив можно по-разному.

Например, цикл в явном виде:

let sum = 0;
for (let i = 0; i < data.length; i++) {
  sum += getItemSum(data[i]);
}

// или

let sum = 0;
for (const n of data) {
  sum += getItemSum(n);
}

Или, в неявном, с помощью методов массива:

const sum = data.reduce((acc, n) => acc + getItemSum(n), 0);

// или

const sum = eval(data.map(getItemSum).join('+'));

Или, рекурсия:

const sum = (function getSum(i) {
  return i < data.length
    ? getItemSum(data[i]) + getSum(i + 1)
    : 0;
})(0);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@HardBIT
var sum = 0;
data.map(function(value){
	sum += value['price'];
});
console.log(sum);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы