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

109
Vistas
Json Array of Objects guarda solo el último elemento

Quiero definir una matriz de objetos, luego almacenar objetos dentro de la matriz, sin embargo, solo tengo un objeto en la matriz (último objeto) y no puedo agregarle más objetos.

En la clase de servicio de datos

 getData(){ return this.storage.get('x').then((val) => { console.log('x',val); }); } async setData( Name, Code, date){ let Info=[{ Name:Name, Code:Code, date:date }]; console.log(typeof(Info)); // returns object return this.storage.set('x',JSON.stringify(Info)); }

Llamar a establecer y obtener métodos en la página de inicio:

 async loadData() { await this.dataservice.getData(); } async addData(name,code,date){ await this.dataservice.setData(name,code,date); this.getData() }

En Otra función en la página de inicio:

 postAPI(){ this.addData('Sara','XXX','2022/10/10'); }

Producción:

 x [{…}]0: Name: "Sara" Code: "XXX" date: '2022/10/10' [[Prototype]]: Object length: 1 [[Prototype]]: Array(0)
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Si desea agregar datos al almacenamiento, primero debe obtenerlos y agregarlos.

 async setData(data: any) { let _tmp = await this.storage.get('x') || [] ; _tmp.push(data); await this.storage.set('x', _tmp); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Si desea que todas las respuestas se guarden, mientras agrega los datos al almacenamiento, primero obtenga todos los datos existentes del almacenamiento, luego agregue/adjunte datos a los datos existentes y luego guarde todos los datos nuevamente en el almacenamiento.

 async setData(Name, Code, date) { let existingData = await this.storage.get('x'); let newData = { Name:Name, Code: Code, date: date }; if (!existingData) { existingData = [newData] } else { existingData.push(newData); } await this.storage.set('x', JSON.stringify(existingData)); }
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