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

199
Visualizações
Cómo fusionar elementos en objetos dentro de una matriz y devolver objetos únicos con datos actualizados

mi pregunta es cómo puedo fusionar elementos en una matriz de objetos y devolver una matriz con objetos únicos. Estaba tratando de usar reduce pero parece que me falta algo y es hora de pedir una pista. Entonces, ¿cómo puede ver que necesito combinar elementos de booleano donde falso es el valor predeterminado y verdadero es datos nuevos, y devolver objetos únicos según el nombre? Gracias por ayudar.

 const arr = [ { code: 'test1', name: 'TEST1', url: '/test1', elements: { option1: true, option2: false, option3: false, option4: false, option5: false } }, { code: 'test1', name: 'TEST1', url: '/test1', elements: { option1: false, option2: false, option3: true, option4: false, option5: false } }, { code: 'test1', name: 'TEST1', url: '/test1', elements: { option1: false, option2: false, option3: false, option4: true, option5: false } }, { code: 'test2', name: 'TEST2', url: '/test2', elements: { option1: false, option2: false, option3: true, option4: false, option5: false } }, ]

y la salida debe ser:

 const arr = [ { code: 'test1', name: 'TEST1', url: '/test1', elements: { option1: true, option2: false, option3: true, option4: true, option5: false } }, { code: 'test2', name: 'TEST2', url: '/test2', elements: { option1: false, option2: false, option3: true, option4: false, option5: false } }, ]
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Trabajando bajo la suposición de que los elements son lo único que realmente varía aquí, y que no puede cambiar de false a true (ya que parece que lo está buscando), necesitaría iterar sobre la clave: pares de valores en elementos y establecerlo en el valor originalValue || newValue , entonces algo como esto:

 const arr = [ { code: 'test1', name: 'TEST1', url: '/test1', elements: { option1: true, option2: false, option3: false, option4: false, option5: false } }, { code: 'test1', name: 'TEST1', url: '/test1', elements: { option1: false, option2: false, option3: true, option4: false, option5: false } }, { code: 'test1', name: 'TEST1', url: '/test1', elements: { option1: false, option2: false, option3: false, option4: true, option5: false } }, { code: 'test2', name: 'TEST2', url: '/test2', elements: { option1: false, option2: false, option3: true, option4: false, option5: false } }, ].reduce((carry, current) => { const existing = carry.find(item => item.code === current.code); if (!existing) { carry.push(current); } else { Object.entries(current.elements).forEach(([k, v]) => { existing.elements[k] = existing.elements[k] || current.elements[k]; }); } return carry; }, []); console.log(arr);

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