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!


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)); });