重複する配列オブジェクトをフィルターを使用して取り除く方法

filterメソッドとindexOfまたはincludesを組み合わせて、重複した配列オブジェクトをフィルタリングできます。

フィルタとindexOfを使用するコード例を以下に示します。

let arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 1, name: 'Alice' },
{ id: 3, name: 'Charlie' },
{ id: 2, name: 'Bob' }
];
let uniqueArr = arr.filter((obj, index, array) => {
return array.findIndex(item => item.id === obj.id) === index;
});
console.log(uniqueArr);

この文を日本語で自然に言い換えて、オプションは1つだけでお願いします: 出力結果は次のとおりです:

[
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' }
]

indexOf()関数のサンプルコード:

let arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 1, name: 'Alice' },
{ id: 3, name: 'Charlie' },
{ id: 2, name: 'Bob' }
];
let uniqueArr = arr.filter((obj, index, array) => {
return array.indexOf(obj) === index;
});
console.log(uniqueArr);

一致しないインデックスが見つかったら、重複している要素としてフィルターされます

bannerAds