Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida sobre somar itens de um Array

Nesse código eu gostaria que a função showTotal() retornasse a string "Total: $" + o resultado da soma dos preços dos produtos que foram adicionados ao cart, porém ainda não consegui uma forma de soma-los, vocês poderiam me ajudar? Agradeço já pela atenção!

var cartItems = [];
var isTotalHidden = true;

var backpack = {
 name: "Backpack",
 price: 400
}

var camera = {
 name: "Camera",
 price: 300
}

function addToCart(item) {
 cartItems.push(item);
 document.getElementById("itemCounter").innerHTML = cartItems.length;
 showTotal();
}

function clickCart() {
 isTotalHidden = !isTotalHidden;
 showTotal();
}

function showTotal() {
 var orderTotal = document.getElementById("orderTotal");
 orderTotal.innerHTML = "";

 if (isTotalHidden === false) {
  orderTotal.innerHTML= "Total: $ " + 

`

3 respostas
solução!

Fala ai Radan, tudo bem? Você vai precisar criar uma função e nessa função percorrer todos os itens do array cartItems e devolver seu valor, algo assim:

function somaTotal() {
    var total = 0;
    for (var i = 0; i < cartItems.length; i++) {
        total = total + cartItems[i].price
    }
    return total;
}

E depois utilizá-la na hora de mostrar a mensagem:

orderTotal.innerHTML= "Total: $ " + somaTotal()

Espero ter ajudado.

Opa, muito obrigado Matheus! Tinha completamente esquecido que poderia atualizar a variável total percorrendo o Array. Valeu demais!

Magina Radan, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.