たとえば、下記のような配列があって。
const array = [{
id: 1,
name: 'test1'
}, {
id: 2,
name: 'test2'
}, {
id: 1,
name: 'test1-2'
}, {
id: 3,
name: 'test3'
}, {
id: 2,
name: 'test2-2'
}, {
id: 4,
name: 'test4'
}, {
id: 1,
name: 'test1-3'
}]
idが重複した場合は、最初にidのみ残して、それ以外は削除したいとき。
const array_unique = Object.values(
array.reduce((acc, obj) => {
if (!acc[obj.id]) {
acc[obj.id] = obj;
}
return acc;
}, {})
)
これで、array_unique は下記のようになる。
array_unique = [{
id: 1,
name: 'test1'
}, {
id: 2,
name: 'test2'
}, {
id: 3,
name: 'test3'
}, {
id: 4,
name: 'test4'
}]