Angularで配列内の重複オブジェクトをチェックして削除する方法


  1. 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.frommap(JSON.parse)を使用して元のオブジェクト形式に戻します。

  2. 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で配列内の重複オブジェクトをチェックし、削除するためのいくつかの一般的な方法です。他にも異なるアプローチがあるかもしれませんが、これらの方法は一般的に使用されます。必要に応じてコードをカスタマイズしてください。