On gists
Vyhozeni duplicitnich objektu v poli objektu
JavaScript
ES 6
array-object-unique.js
Raw
#
let x = [
{
id: 1,
name: 'A'
},
{
id: 2,
name: 'B'
},
{
id: 3,
name: 'C'
},
{
id: 3,
name: 'C'
},
{
id: 2,
name: 'B'
},
]
// 1
let uniqueArray = [];
let idMap = {};
for (let obj of x) {
if (!idMap[obj.id]) {
idMap[obj.id] = true;
uniqueArray.push(obj);
}
}
// 2
let uniqueArray = x.filter((obj, index, self) =>
index === self.findIndex((o) => o.id === obj.id)
);
// 3
let uniqueArray = x.reduce((accumulator, currentValue) => {
if (!accumulator.some(obj => obj.id === currentValue.id)) {
accumulator.push(currentValue);
}
return accumulator;
}, []);
console.log(uniqueArray)