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

128
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 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