0
respostas

somar valor dentro de posição especifica em array

Bom dia pessoal,

Estou ha 2 dias tentando solucionar essa questão mas infelizmente sem sucesso.

Esse é o meu JS.

Pelo HTML eu seleciono o produto e a quantidade. Se o produto não existe no carrinho ele entra no array de produto e a quantidade entra no array de quantidade.

Agora meu desafio é, se o produto existe no carrinho eu quero apenas somar a quantidade antiga com a nova que estou colocando mas não estou conseguindo.

Tenho 2 problemas nesse código, quando coloco os if e else if dentro desse for ele simplesmente não funciona. A outra dificuldade é somar o valor dentro do array não estou conseguindo fazer isso.

O que fiz de errado?

var prod = [];
var qtde = [];

function adicionaProduto() {
  let produtoSelecionado = document.getElementById("cboProduto").value;
  let qtdePreenchido = document.getElementById("nrQtde").value;

  for (let i = 0; i < prod.length; i++) {
    if (produtoSelecionado == 0) {
      alert("Selecione um produto valido!");
    } else if (qtdePreenchido == "" || isNaN(qtdePreenchido)) {
      alert("preencha o campo quantidade!");
    } else if (produtoSelecionado !== prod[i]) {
      prod.push(produtoSelecionado);
      qtde.push(qtdePreenchido);
      verCarrinho();
      iniciarValores();
      console.log("entrou 1");
      console.log(i);
    } else {
      qtde.push(qtde[i] + qtdePreenchido);
      verCarrinho();
      iniciarValores();
      console.log("entrou 2");
      console.log(i);
    }
  }
}

function verCarrinho() {
  let produtosCarrinho = "";
  //let tabelaCarrinho = "<table border=1><tr><td>Produtos</td><td>Quantidade</td></tr>"
  for (let i = 0; i < prod.length; i++) {
    produtosCarrinho = produtosCarrinho + "Produto: " + prod[i] + " Quantidade: " + qtde[i] + "</br>";
  }
  //tabelaCarrinho+="</table>"
  document.getElementById("listaCarrinho").innerHTML = produtosCarrinho;
}

function iniciarValores() {
  document.getElementById("cboProduto").value = 0;
  document.getElementById("nrQtde").value = "";
}

Obrigado desde já!