Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

297
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda