Javascript Eliminar objetos duplicados de la Array
Tomemos una variedad de objetos y elimine los que se dupliquen objetos.
¿Cómo sabemos que son duplicados?
Tal vez tengan el mismo número de identificación que sabemos que es ser único.
const array = [ { id: 1, name: "Mateo" }, { id: 2, name: "Isabella" }, { id: 3, name: "Santiago" }, { id: 4, name: "Valentina" }, { id: 5, name: "Alejandro" }, { id: 1, name: "Mateo" }, { id: 2, name: "Isabella" }, { id: 4, name: "Valentina" }, ];
- El método
reduce
es una función de orden superior, por lo que debemos pasar una función en ella.
Usar Spread Operator o Usar Array.from
Con Spread
const unico = (arr) => [...array.reduce((map, each) => map.set(each.id, each), new Map()).values()];
Con Array.from
const unico = (arr) => Array.from(arr.reduce((map, each) => map.set(each.id, each), new Map()).values());
console.log(unico(array)) // [ // { id: 1, name: "Mateo" }, // { id: 2, name: "Isabella" }, // { id: 3, name: "Santiago" }, // { id: 4, name: "Valentina" }, // { id: 5, name: "Alejandro" }, // ]