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

189
Visualizações
Sobrescribir el valor de los objetos en Array por valor de propiedad

Tengo dos matrices de objetos. ¿Cómo puedo tomar la propiedad de una matriz y anular la propiedad 'valor' de la otra matriz? Actualmente estoy haciendo esto, pero parece bastante raro hacerlo de esta manera. La matriz original 'streamingTiles' contiene otras propiedades, por lo que tengo el '...'

El objetivo es reemplazar el 'valor' en streamingTiles con el valor de 'recuentos' de refTiles según el UID coincidente por objeto

 const streamingTiles = [ {uid: 57, value: 10, ...}, {uid: 30, value: 51, ...}, {uid: 14, value: 24, ...}, {uid: 47, value: 73, ...}, ] const refTiles = [ {uid: 14, counts: 10}, {uid: 57, counts: 51}, {uid: 30, counts: 24}, {uid: 47, counts: 73}, ] // replace value in streamingTiles with 'count' value from refTiles const tiles = streamingTiles.map((item) => { var refObj = refTiles.find((obj) => { return obj.uid === item.uid; }); return { ...item, ...{ value: refObj["counts"] } }; });

PREGUNTA ACTUALIZADA

Si cambié el nombre de 'recuentos' para que sea 'valor', ¿se aplicaría la misma solución de reemplazar el 'valor' en la matriz streamingTiles con el 'valor' de refTiles basado en el UID coincidente?

 const streamingTiles = [ {uid: 57, value: 10, ...}, {uid: 30, value: 51, ...}, {uid: 14, value: 24, ...}, {uid: 47, value: 73, ...}, ] const refTiles = [ {uid: 14, value: 10}, {uid: 57, value: 51}, {uid: 30, value: 24}, {uid: 47, value: 73}, ]
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Procese los refTiles en un objeto para evitar llamadas de find para cada elemento.

 const streamingTiles = [ { uid: 57, value: 10 }, { uid: 30, value: 51 }, { uid: 14, value: 24 }, { uid: 47, value: 73 }, ]; const refTiles = [ { uid: 14, counts: 10 }, { uid: 57, counts: 51 }, { uid: 30, counts: 24 }, { uid: 47, counts: 73 }, ]; const refs = refTiles.reduce( (acc, curr) => ((acc[curr.uid] = curr.counts), acc), {} ); const titles = streamingTiles.map((item) => ({ ...item, value: refs[item.uid] ?? item.value, })); console.log(titles);

about 4 years ago · Juan Pablo Isaza Relatório

0

Simplemente puede eliminar la destrucción innecesaria de objetos:

 const tiles = streamingTiles.map((item) => { var refObj = refTiles.find((obj) => { return obj.uid === item.uid; }); return { ...item, value: refObj["counts"]}; });
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