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

129
Visualizações
Cómo combinar una matriz de remolque y eliminar un objeto duplicado de una matriz

Tengo dos matrices como esta y filtré estas dos matrices y las combiné en una matriz final y eliminé el valor duplicado y conservé el uno.

 let arr1 = [ { name : 'abc', std: '1' }, { name : 'abc1', std: '2' }, { name : 'abc2', std: '3' }, ] let arr2 = [ { name : 'abc3', std: '1' }, { name : 'abc4', std: '2' }, { name : 'abc2', std: '3' }, ]

salida esperada como quiero que abc2 obtenga solo una vez

 let finalArr = [ { name : 'abc', std: '1' }, { name : 'abc1', std: '2' }, { name : 'abc2', std: '3' }, { name : 'abc3', std: '1' }, { name : 'abc4', std: '2' }, ]

Entonces, ¿alguien puede ayudarme con cómo puedo hacer eso? Intenté muchas maneras pero no funcionó y en algún momento recibí un error.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Puede usar un Conjunto para el nombre dado y filtrar la matriz fusionada con el conjunto.

 let arr1 = [{name : 'abc',std: '1'},{name : 'abc1',std: '2'},{ name : 'abc2', std: '3'}] let arr2 = [{name : 'abc3', std: '1' }, { name : 'abc4', std: '2' }, {name : 'abc2', std: '3'}] const names = new Set(arr1.map(({name}) => name)); const filteredArray = [...arr1, ...arr2.filter(({name}) => !names.has(name))]; console.log(filteredArray)
 .as-console {background-color:black !important; color:lime;} .as-console-wrapper {max-height:100% !important; top:0;}

about 4 years ago · Juan Pablo Isaza Relatório

0

Los identificadores deben ser únicos en la matriz

 arr.reduce((acc, current) => { const x = acc.find(item => item.id === current.id); if (!x) { return acc.concat([current]); } else { return acc; } }, []);
about 4 years ago · Juan Pablo Isaza Relatório

0

También hay otra manera, tienes opciones :)

 const arr1 = [{ name: 'abc', std: '1' }, { name: 'abc1', std: '2' }, { name: 'abc2', std: '3' }, ] const arr2 = [{ name: 'abc3', std: '1' }, { name: 'abc4', std: '2' }, { name: 'abc2', std: '3' }, ] function mapper(v) { return [v.name, v] }; const map = new Map(arr1.map(mapper).concat(arr2.map(mapper))); console.log([...map.values()])

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