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

162
Vistas
Cómo crear una matriz que incluya múltiples elementos de un objeto del almacenamiento local

Me gustaría crear una matriz que incluya las identificaciones de todos los productos del objeto de almacenamiento local del carrito de mi sitio web de compras. La cuestión es que la función que hice genera una matriz para la identificación de cada producto en lugar de una matriz con toda la identificación del producto.

 var cartStorage = JSON.parse(localStorage.getItem("cart")); cartStorage.forEach(function (cart, index) { let cartIds = [cart._id]; console.log(cartIds); // logs one array for each id instead of just one array with every id's });

Lo he estado intentando durante horas pero nada parece funcionar, supongo que tengo que usar un forEach() pero no puedo hacer que funcione.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Está definiendo let cartIds dentro del ciclo. Se crea y recrea en cada bucle. Entonces, por supuesto, contiene solo un elemento. Defínelo fuera del ciclo, y en el ciclo, inserta cosas en él.

 const cartStorage = JSON.parse(localStorage.getItem("cart")); let cartIds = []; cartStorage.forEach(cart => cartIds.push(cart._id)); console.log(cartIds);

O mejor :

 const cartStorage = JSON.parse(localStorage.getItem("cart")); const cartIds = cartStorage.map(cart => cart._id); console.log(cartIds);

Además, tenga en cuenta que, si no tiene un "carrito" en su localStorage, getItem devolverá null y su código fallará. Tienes que encargarte de este caso.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Cree la variable fuera del ciclo e inserte los valores en esta matriz.

 var cartIds = [] var cartStorage = JSON.parse(localStorage.getItem("cart")); cartStorage.forEach(function (cart, index) { cartIds.push(cart._id) }); console.log(cartIds) // this has all the pushed values inside
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