Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

244
Views
No obtener la salida para JSON.strigify()

Aquí estoy tratando de almacenar el nombre de la identificación y la cantidad de veces que se ha hecho clic.

Se almacena como un objeto, pero cuando probé JSON.Stringify() devuelve una matriz vacía como esta '[]'

 if (localStorage.getItem('cart') == null) { var cartArr = {}; } else { cartArr = JSON.parse(localStorage.getItem('cart')); } const cartClass = document.querySelectorAll(".cart"); cartClass.forEach((ele) => { ele.addEventListener('click', (e) => { let cartId = (e.target.getAttribute('id')); if (cartArr[cartId] == undefined) { cartArr[cartId] = 1; } else { cartArr[cartId] += 1; } localStorage.setItem('cart', JSON.stringify(cartArr)); console.log(localStorage.getItem('cart')); }); });
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Tu código debería funcionar. Nunca almacenó una matriz en ese código. ¿Quizás tiene otro código que almacenó el carrito como una matriz?

Delegaría y le daría al sistema un poco de tiempo para reaccionar

 const cartStr = localStorage.getItem('cart') cartArr = cartStr ? JSON.parse(cartStr) : {} const cartContainer = document.getElementById("cartContainer"); cartContainer.addEventListener('click', (e) => { const tgt = e.target.closest(".cart"); if (tgt) { let cartId = tgt.id; cartArr[cartId] = cartArr[cartId] ? cartArr[cartId] : 0; cartArr[cartId]++; localStorage.setItem('cart', JSON.stringify(cartArr)); setTimeout(function() { console.log(localStorage.getItem('cart')) }, 10); // give the system time to react } });

about 4 years ago · Juan Pablo Isaza Report

0

He comprobado tu código, funciona correctamente. Su problema se puede resolver limpiando su localStorage . Parece que en algún momento almacenó una matriz vacía en su almacenamiento local. Lo que sucede es que JSON.stringify almacena el contenido de la matriz, pero ignora cualquier propiedad personalizada que establezca en un objeto de matriz:

 // This will log "[]" const arr = []; arr.prop = "val" console.log(JSON.stringify(arr)); // This will log {"prop": "val"} const obj = {}; obj.prop = "val" console.log(JSON.stringify(obj));
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!