1
resposta

[Sugestão] Inclusão de If no manipulaDados - Números negativos

Olá,

Estou iniciando e a cada aula tento incrementar com o que acho que faça sentindo. Após finalizar o projeto, entendo que pela lógica deveríamos tratar na manipulação de dados a negativa ao permitir números negativo. Ex. -2 braços.

Tentei incluir, mas não consegui pela pouca experiência e conhecimento. Caso alguém tenha pensado o mesmo, adoraria que compartilhassem, obrigado!

1 resposta

Olá Natã,

Senti a mesma coisa, segue a forma como eu fiz:

controle.forEach((elemento) => {
    elemento.addEventListener("click", function(evento) {
        manipulaDados(evento.target.dataset.controle, evento.target.parentNode)
        atualizaEstatisticas(evento.target.dataset.controle, evento.target.dataset.peca)

    })
})
function manipulaDados(operacao, controle) {
    const peca = controle.querySelector("[data-contador]")

    if (operacao === "+"){
        peca.value = parseInt(peca.value) + 1
    }
    else{
        peca.value = parseInt(peca.value) - 1
    }
}

function atualizaEstatisticas(operacao, peca){
    estatisticas.forEach(function(elemento){

        if (operacao === "+"){
            elemento.textContent = parseInt(elemento.textContent) + pecas[peca][elemento.dataset.estatistica]
        }
        else{
            elemento.textContent = parseInt(elemento.textContent) - pecas[peca][elemento.dataset.estatistica]
        }

    })
}

Vi que na função atualizaEstatisticas o que definiu a operacao foi evento.target.dataset.controle que está dentro da função controle.forEach... Por isso também coloquei este argumento na função manupulaDados para poder fazer o if nesta função também. Espero que ajude !