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

91
Vistas
agregue o inserte un décimo número de índice en la matriz

Estaba trabajando en un gráfico en el que necesito que mis datos se dividan en objetos pequeños para una mejor visibilidad. Mi matriz que tengo es

 { "size":[ { "timestamp":"1641329889000", "size":12345, "fees":123456, "cost":168 }, { "timestamp":"1641387032", "size":456789, "fees":4567891, "cost":249 }, { "timestamp":"1641435786", "size":98765, "fees":987654, "cost":987 }, { "timestamp":"1641435786", "size":98765, "fees":987654, "cost":987 }, { "timestamp":"1641435786", "size":98765, "fees":987654, "cost":987 } ] }

en el que quiero que la matriz esté en esta forma

 { "size":{ "timestamp": ["1641329889000","1641387032","1641435786"], "size": [12345,456789,98765], "fees": [123456,4567891,987654], "cost": [168,249,987] } }

Puedo lograr esto usando foreach y empujar así

 result.forEach(element => { this.state.timestamp.push(element.timestamp); this.state.size.push(element.size); });

Pero quiero que esta matriz tenga los elementos solo del índice 10,20,30,40 solo, no quiero todo el valor. los valores deben elegirse solo en base a x + 10 ¿Alguien podría ayudarme en esto?

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

0

Podría tomar un bucle for y un paso para incrementar el índice.

 const step = 10, keys = ["timestamp", "size", "fees", "cost"], result = Object.fromEntries(keys.map(k => [k, []])); for (let i = 0; i < size.lenght; i += step) { keys.forEach(key => result[key].push(size[i][key])); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Usar forEach es un desperdicio de recursos. Puedes usar for en su lugar:

 for(let i=0;i<result.length;i+10){ this.state.timestamp.push(result[i].timestamp); this.state.size.push(result[i].size); }

Para configurar el estado, debe usar setState no solo presionarlo.

 let tmp = { ...this.state } for(let i=0;i<result.length;i+10){ tmp.size.timestamp.push(result[i].timestamp); tmp.size.push(result[i].size); } this.setState(tmp)
about 4 years ago · Juan Pablo Isaza Denunciar

0

En lugar de forEach ¿por qué no usar un bucle for y, con la condición, usar el operador de % de módulo con 10? Como if (i % 10 == 0) dentro del ciclo for, o simplemente incremente i en 10 como i+=10 .

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