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

164
Visualizações
JavaScript: elimine los duplicados del último en una matriz de objetos

Estoy tratando de eliminar la matriz similar de objetos con el referente de la clave de nombre en el objeto con esta función getUniqueListBy pero está dando el resultado al eliminar los primeros elementos duplicados en la matriz

Quiero borrar el duplicado del último por referencia con el nombre

Ejemplo de entrada:

 [ { name:'shanu', id:1 }, { name:'bhanu', id:2 }, { name:'chary', id:3 }, { name:'shanu', id:4 }, { name:'rahul', id:5 } ]

Rendimiento esperado:

 [ { name:'shanu', id:1 }, { name:'bhanu', id:2 }, { name:'chary', id:3 }, { name:'rahul', id:5 ]

Lo que hice:

 function getUniqueListBy(data, key) { return [ ...new Map(data.map((item) => [item[key], item])).values(), ]; } const data = [ { name:'shanu', id:1 }, { name:'bhanu', id:2 }, { name:'chary', id:3 }, { name:'shanu', id:4 }, { name:'rahul', id:5 } ]; const arr1 = getUniqueListBy(data, "name"); console.log(arr1);

Salida de corriente:

 [ { name:'bhanu', id:2 }, { name:'chary', id:3 }, { name:'shanu', id:4 }, { name:'rahul', id:5 } ]

se eliminó el primer elemento, pero quiero eliminar datos similares del último.

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

0

El Map está sobrescribiendo los siguientes valores de la misma clave.

Puede usar un Set para almacenar las claves agregadas y devolver la matriz final usando Array#reduce :

 const getUniqueListBy = (data = [], key) => { const set = new Set(); return data.reduce((arr, e) => { if(!set.has(e[key])) { set.add(e[key]); arr.push({...e}); } return arr; }, []); } const data = [ { name:'shanu', id:1 }, { name:'bhanu', id:2 }, { name:'chary', id:3 }, { name:'shanu', id:4 }, { name:'rahul', id:5 } ]; const arr = getUniqueListBy(data, "name"); console.log(arr);

about 4 years ago · Juan Pablo Isaza Relatório

0

 const data =[ { name:'shanu', id:1 }, { name:'bhanu', id:2 }, { name:'chary', id:3 }, { name:'shanu', id:4 }, { name:'rahul', id:5 }, ] function getUniqueListBy(data, key) { return [ ...new Map(data.reverse().map((item) => [item[key], item])).values(), ].reverse(); } const arr1 = getUniqueListBy(data, "name"); console.log(arr1)

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