Venho compartilhar as seguintes soluções que tive para esses problemas.
Utilizando um if com o mesmo parametro de operação das peças conseguimos retirar as estatisticas . Para evitar que o numero de peças fiquem negativos podemos usar um if para que apenas subtraia quando o numero for superior a 0. Para que as estatisticas não fiquem negativas podemos fazer o mesmo que as peças mas como já temos numeros negativos por padrão adicionamos com um operador logico a retirada dos numeros negativos quando o numero for inferior a 0.
Espero ter ajudado :) e se teve uma solução diferente compartilha.
Segue o codigo a baixo:
atualizaEstatistica(evento.target.dataset.controle, evento.target.dataset.peca)
if (operacao === '-') {
if (peca.value > 0) {
peca.value = parseInt(peca.value) - 1;
}
}
else {
peca.value = parseInt(peca.value) + 1;
}
const atualizaEstatistica = (operacao, peca) => {
estatisticas.forEach((elemento) => {
if (operacao === "-") {
if (elemento.textContent > 0 || elemento.textContent < 0) {
elemento.textContent = parseInt(elemento.textContent) - pecas[peca][elemento.dataset.estatistica];
}
} else {
elemento.textContent = parseInt(elemento.textContent) + pecas[peca][elemento.dataset.estatistica];
}
})
}