-
Setを使用する方法:
const array = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }, { id: 1, name: 'John' }]; const uniqueArray = Array.from(new Set(array.map(JSON.stringify))).map(JSON.parse); console.log(uniqueArray);
上記のコードでは、Setを使用して配列内の重複オブジェクトを削除しています。まず、
array.map(JSON.stringify)
を使用して各オブジェクトを文字列化し、重複をチェックするためにSetに変換します。最後に、Array.from
とmap(JSON.parse)
を使用して元のオブジェクト形式に戻します。 -
reduce()メソッドを使用する方法:
const array = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }, { id: 1, name: 'John' }]; const uniqueArray = array.reduce((accumulator, current) => { const duplicate = accumulator.find(item => item.id === current.id); if (!duplicate) { return [...accumulator, current]; } return accumulator; }, []); console.log(uniqueArray);
上記のコードでは、
reduce()
メソッドを使用して配列を走査し、重複オブジェクトをチェックして削除しています。accumulator
配列内に現在のオブジェクトと同じid
を持つオブジェクトが存在しない場合にのみ、current
オブジェクトをaccumulator
に追加します。
これらはAngularで配列内の重複オブジェクトをチェックし、削除するためのいくつかの一般的な方法です。他にも異なるアプローチがあるかもしれませんが、これらの方法は一般的に使用されます。必要に応じてコードをカスタマイズしてください。