Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

valor total : NaN

Não consegui com o código da aula
mudei para esse:

let totalGeral;
limpar();

function adicionar() {
    let produto = document.getElementById('produto').value;
    let nomeProduto = produto.split('-')[0];
    let valorUnitario = produto.split('R$')[1];
    valorUnitario = Number(valorUnitario);

    let quantidade = Number(document.getElementById('quantidade').value);

    let preco = quantidade * valorUnitario;

    let carrinho = document.getElementById('lista-produtos');
    carrinho.innerHTML += `
        <section class="carrinho__produtos__produto">
            <span class="texto-azul">${quantidade}</span> ${nomeProduto} 
            <span class="texto-azul">R$${preco}</span>
        </section>
    `;

    totalGeral += preco;

    let campoTotal = document.getElementById('valor-total');
    campoTotal.textContent = `R$ ${totalGeral}`;

    document.getElementById('quantidade').value = 0;
}

function limpar() {
    totalGeral = 0;
    document.getElementById('lista-produtos').innerHTML = '';
    document.getElementById('valor-total').textContent = 'R$ 0';
}

1 resposta

Olá! Como vai?

Gostei da forma como você utilizou split() para separar o nome do produto e o valor, além de organizar bem a função limpar(). Como o valor total está retornando NaN, vale conferir se todos os produtos possuem exatamente o mesmo padrão de texto contendo R$, pois, se a divisão não acontecer corretamente, o valor pode ficar indefinido e afetar o cálculo de totalGeral.

Uma dica interessante para o futuro é validar os valores antes de realizar operações matemáticas. Veja este exemplo:

<pre><code>
let valor = Number('10');

if (!isNaN(valor)) {
    console.log(valor);
}
</code></pre>

Nesse exemplo, isNaN() verifica se o valor é um número válido antes de utilizá-lo nos cálculos, evitando resultados inesperados como NaN.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!