Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

123
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda