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

242
Vistas
¿Cómo agregar más objetos a una matriz de objetos que continúan la numeración pero no comienzan de nuevo?

Tengo este problema menor, pero estoy tan cerca.

Tengo una matriz de objetos con 100 OBJETOS. [0-99]

Quiero agregar otros 100 o más objetos al final del objeto actual 99.

Lo que obtengo es [0-99], 100: [0-99]

Déjame mostrarte el código:

 addEntry = (newEntry) => { let newSortedData = []; // Parse any JSON previously stored in allEntries let existingEntries = JSON.parse(sessionStorage.getItem("magic1")).data; if (existingEntries === null) { existingEntries; } sessionStorage.setItem("magic1", JSON.stringify(newEntry)); // Save allEntries back to local storage existingEntries.push(newEntry[0].data); console.log("existing entries with push for new ones: ", existingEntries); table.clear().draw(); newSortedData.push(existingEntries); table.rows.add(_.sortBy(newSortedData, "title")); // Add new data table.columns.adjust().draw(); // Redraw the DataTable console.log("Existing and new ones sorted: ", newSortedData[0].data); sessionStorage.setItem("magic1", JSON.stringify(newSortedData[0].data)); };

Lo que obtengo es esto:

magic1 comienza con 100 OBJETOS en la matriz. De donde obtengo los datos, hay 7000 artículos/productos. Estoy usando un PHP para extraer los datos de la fuente. Solo vienen en las páginas 1 - 70 con 100 objetos en cada página. por lo tanto, 7000 objetos. Es una forma BIZARRA de tener que hacer esto, pero tengo que hacer PING al servidor pasando 100, 201, 301, 401, 501, 601, y así sucesivamente, a través de los 70 accesos al servidor, 100 elementos a la vez. Simplemente no pueden darme un getRowcount() como número de filas del SQL. Tengo que hacer ping continuamente o acceder al servidor hasta que obtenga una cantidad de elementos MENOS de 100, lo que significa que llegué a la última página de menos de 100.

Así es como se ve el final de una matriz y el comienzo de la nueva.

Todo lo que quiero hacer es SEGUIR agregando las páginas adicionales para continuar el conteo con 100, 101, 102, hasta 199. Luego 200, 201, 201 - 299 y así sucesivamente. Aparentemente obj.push(newObj) hace lo que ves en la imagen.

ingrese la descripción de la imagen aquí

DE NOTA: cuando llego a esta parte del código:

 existingEntries.push(newEntry[0].data);

tanto las entradas existentes como la entrada nueva[0].data tienen SOLO objetos. NO hay prefijo como datos: ... por ejemplo. Entonces, ¿por qué no puedo simplemente agregar y ORDENAR todo por "título" alfabéticamente con 0 - 199 en lugar de 0-99, 100: 0-99?

Gracias

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

0

Si newEntry[0].data es una matriz, puede distribuirla:

 existingEntries.push(...newEntry[0].data);

o simplemente use concat en lugar de empujar:

 existingEntries.concat(newEntry[0].data)
about 4 years ago · Juan Pablo Isaza Denunciar

0

Supongo que el problema está en concatenar las dos matrices ( existingEntries y newEntry[0].data ). Array.push() no combina dos matrices sino que coloca la otra matriz al final de la matriz.

 let a1 = ['a', 'b'], a2 = ['c', 'd']; a1.push(a2); console.log(a1) // ['a', 'b', ['c', 'd']]

Puedes usar Array.concat() para hacerlo.

 let a1 = ['a', 'b'], a2 = ['c', 'd']; a1 = a1.concat(a2); console.log(a1) // ['a', 'b', 'c', 'd']

Nota Array.concat() devuelve una nueva matriz.

Cambios:

 // this existingEntries.push(newEntry[0].data); // to this existingEntries = existingEntries.concat(newEntry[0].data);
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