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

122
Vistas
¿Cómo filtrar los datos del objeto según las claves y hacer una nueva matriz en reaccionar?

Estoy trabajando con el objeto de esta manera: -

 { 0: buyAmount: 16.664328043964396 buyAmountInUsd: 16.685266204095775 date: {date: '2021-12-07'} sellAmount: {USD: 500, INR: 35000} 1: buyAmount: 1004.7015442959262 buyAmountInUsd: 1005.9639175379324 date: {date: '2021-12-07'} sellAmount: {USD: 1000, INR: 79000} ......

y estoy tratando de hacer una nueva matriz usando useState hook con estos datos, pero el problema al que me enfrento es cómo filtrar datos y hacer una matriz casi similar con los mismos datos.

p.ej:-

 0: [amount: 500, date: '2021-12-07'], 1: [amount: 1000, date: '2021-12-07']

El problema al que me enfrento es que no conozco el método para obtener datos como amount = sellAmount.USD y date = date.date

Pensé en probar el for...of Pero no creo que sea un buen éxito.

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

0

Puedes hacer esto con Array.map

 const arr = [{ buyAmount: 16.664328043964396, buyAmountInUsd: 16.685266204095775, date: {date: '2021-12-07'}, sellAmount: {USD: 500, INR: 35000} },{ buyAmount: 1004.7015442959262, buyAmountInUsd: 1005.9639175379324, date: {date: '2021-12-07'}, sellAmount: {USD: 1000, INR: 79000} }] console.log( arr.map(initialValue => { return { amount: initialValue.sellAmount.USD, date: initialValue.date.date } }) )

about 4 years ago · Juan Pablo Isaza Denunciar

0

La mejor idea sería tener una matriz de objetos en lugar de una matriz de elementos de matriz.

 let result = yourArray.map(each => ({ amount: each.sellAmount.USD, date: each.date.date }))
about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto no está relacionado con ReactJS, solo el manejo nativo de objetos Javascript.

Si sus datos originales tienen la forma de un objeto, puede convertirlos en una matriz de esta manera:

 const objData = { 0: {...}, 1: {...} }; const arrData = Object.entries(objData); // [[0, {...}], [1, {...}]];

A partir de ahí, puede filtrar/mapear/ordenar su matriz con métodos de matriz nativos:

 const reshapedArray = arrData.map(([key, value]) => { return { amount: value.sellAmount.USD, date: value.date.date, }; });

Luego ordena:

 const sortedArray = reshapedArray.sort((prev, next) => { return prev.amount - next.amount; // sort by amount ascending });

Puede encadenar estas funciones de matriz y acortar un poco la sintaxis:

 Object.entries(objData) .map(([_, { sellAmount, date: { date } }]) => ({ amount: sellAmount.USD, date })) .sort((a, b) => a.amount - b.amount);
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