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

141
Vistas
¿Cómo puedo almacenar datos en una matriz de JavaScript para que pueda almacenarse en el almacenamiento local?

Estoy tratando de construir una tienda web básica y estoy buscando una forma de almacenar datos que ya tengo en una hoja de Excel en una matriz de JavaScript para poder almacenarlos en el almacenamiento local si el comprador hace clic en "Agregar al carrito", por ejemplo: Tengo estos datos aquí mismo:

['Hoodie','Purple','cotton authentic',' Only £39.99','images/items/hoodies/hoodie (1).jpg']

['Hoodie','Light Blue','cotton authentic',' Only £39.99','images/items/hoodies/hoodie (2).jpg']

['Hoodie','Green','cotton authentic',' Only £39.99','images/items/hoodies/hoodie (3).jpg']

como puedes ver, es el tipo de ropa, color, descripción, precio y fuente de la imagen

¿Cómo puedo almacenar esto en una matriz de JavaScript para poder crear una función que, al hacer clic en un botón, agregue el elemento específico en el almacenamiento local?

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

0

En primer lugar... desde el punto de vista de la estructura de datos, su solución es: interesante

 ['Hoodie','Purple','cotton authentic',' Only £39.99','images/items/hoodies/hoodie (1).jpg'] ['Hoodie','Light Blue','cotton authentic',' Only £39.99','images/items/hoodies/hoodie (2).jpg'] ['Hoodie','Green','cotton authentic',' Only £39.99','images/items/hoodies/hoodie (3).jpg']

En general, en una matriz, desea tener varias cosas que sean todas del mismo tipo. Sí, aquí cada sudadera con capucha se representa como una matriz... y todos los elementos de cada matriz son cadenas... pero cada cadena representa un tipo de cosa completamente diferente.

Realmente, deberías usar objetos para guardar las sudaderas con capucha:

 { type: 'Hoodie', color: 'Purple', material: 'cotton authentic', price: '£39.99', image: 'images/items/hoodies/hoodie (1).jpg' }

Ahora tienes una sola cosa que tiene atributos específicos, cada uno con un valor

Para mostrar todas sus sudaderas con capucha, tiene su matriz... pero ahora carga esa matriz con esos objetos en lugar de tener matrices separadas

 var hoodieArray = [{ type: 'Hoodie', color: 'Purple', material: 'cotton authentic', price: '£39.99', image: 'images/items/hoodies/hoodie (1).jpg' }, { type: 'Hoodie', color: 'Light Blue', material: 'cotton authentic', price: '£39.99', image: 'images/items/hoodies/hoodie (2).jpg' }, { type: 'Hoodie', color: 'Green', material: 'cotton authentic', price: '£39.99', image: 'images/items/hoodies/hoodie (3).jpg' }]

Ahora, tiene una forma de almacenar, dentro de una sola clave en localStorage, la matriz de objetos separados, cada uno con su lista de atributos simplemente pasando JSON.stringify(hoodieArray)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Si tiene la matriz en números y desea limpiarlos en una matriz de objetos.

Por ejemplo, digamos que tiene matrices como las siguientes:

 let allArray = [ ['Hoodie', 'Purple', 'cotton authentic', ' Only £39.99', 'images/items/hoodies/hoodie (1).jpg'], ['Hoodie', 'Light Blue', 'cotton authentic', ' Only £39.99', 'images/items/hoodies/hoodie (2).jpg'], ['Hoodie', 'Green', 'cotton authentic', ' Only £39.99', 'images/items/hoodies/hoodie (3).jpg'] ]

siempre que esté seguro de la posición de cada elemento en la matriz secundaria, el código a continuación transformará todo en una matriz de objetos.

 allArray.forEach((element, index) => { let obj = {} obj.type = element[0] obj.color = element[1] obj.material = element[2] obj.price = element[3] obj.image = element[4] allArray[index] = obj })

puedes echar un vistazo a lo que obtienes en la consola

 console.log(allArray)

entonces, puede agregar la matriz reformada al almacenamiento local de esta manera:

 localStorage.setItem("mycart", JSON.stringify(allArray))

Sin embargo, en un escenario ideal, los artículos se agregan al carrito uno a la vez. Para agregar un artículo a la vez, puede escribir una función para agregar un artículo al carrito y otra para obtener artículos del carrito como se indica a continuación

 addToCart(item) { let items = getCartItem() items = items == null ? [] : items let found = items.find(x => x.somethingUnique == item.somethingUnique) if (found == null || undefined) { items.push(item) localStorage.setItem("mycart", JSON.stringify(items)) return true; } return false; }

Nota

 let found = items.find(x => x.somethingUnique == item.somethingUnique)

Reemplace somethingUnique con cualquier cosa que sea única para cada objeto, como ID , etc. Esto es para verificar si un elemento ya existe en el carrito y, por lo tanto, evita duplicados con el código.

 getCartItem() { let item = localStorage.getItem("mycart") item = item == null || undefined ? null : JSON.parse(item) return item; }

Espero que esto ayude.

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