Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

288
Visualizações
Javascript: for loop no funciona con array.length

Quiero hacer un ciclo for, en el que var i , aumentará en 1 para cada elemento de mi matriz. Pero, no aumenta, i registra "0" incluso si mi matriz tiene algo. He registrado array.length solo para verificar si funciona en el ciclo for, y lo hace.

Entonces, no sé cuál es el problema. He intentado muchas cosas, muchas formas de definir mi matriz solo para hacer que funcione el bucle "for".

Este es el código:

 let button = document.getElementById("addToCartButton"); console.log(button); button.onclick = function(event) { console.log("kuku le bouton"); let amountInput = document.getElementById("quantity"); let select = document.getElementById("colors"); let productFinalDetails = Object.assign({}, productDetails, { color: `${select.value}`, quantity: amountInput.value, }); let productArray = JSON.parse(localStorage.getItem("product")); console.log(productArray); if (productArray == null ) { productArray = []; productArray.push(productFinalDetails); localStorage.setItem("product", JSON.stringify(productArray)); productArray = JSON.parse(localStorage.getItem("product")); console.log(productArray.length); } else if (productArray != null) { for (var i = 0; i < productArray.length; i++) { console.log(i); console.log(productArray.length); } } };

¡Y aquí están las pantallas de la consola de Google!

consola de google

almacenamiento local

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No necesitas i en tu código

Haces demasiadas cosas al hacer clic

Probablemente quisiste hacer esto

 let productData = localStorage.getItem("product"); let productArray = productData ? JSON.parse(productData) : []; let button = document.getElementById("addToCartButton"); button.addEventListener("click", function(event) { console.log("kuku le bouton"); let amountInput = document.getElementById("quantity"); let select = document.getElementById("colors"); let productFinalDetails = { color: select.value, quantity: amountInput.value }; productArray.push(productFinalDetails); localStorage.setItem("product", JSON.stringify(productArray)); });

Si tiene más de un botón, debe cambiar la ID a clase y delegar desde el contenedor

 let productData = localStorage.getItem("product"); let productArray = productData ? JSON.parse(productData) : []; document.getElementById("cartContainer").addEventListener("click", function(e) { const tgt = e.target; if (!tgt.matches("button")) return; console.log("kuku le bouton"); const itemDiv = tgt.closest("div"); let amount = itemDiv.querySelector(".quantity").value; let color = itemDiv.querySelector(".colors").value let productFinalDetails = { color: color, quantity: amount }; productArray.push(productFinalDetails); localStorage.setItem("product", JSON.stringify(productArray)); });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda