JavaScriptで配列から重複するJSONオブジェクトを削除する方法


JavaScriptで配列から重複するJSONオブジェクトを削除する方法についていくつかの方法を説明します。以下のコード例を参考にしてください。

  1. Setを使用する方法:

    const array = [
    { id: 1, name: "John" },
    { id: 2, name: "Alice" },
    { id: 1, name: "John" },
    { id: 3, name: "Bob" }
    ];
    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)を使用して元のJSONオブジェクトの形式に戻します。

  2. filterメソッドを使用する方法:

    const array = [
    { id: 1, name: "John" },
    { id: 2, name: "Alice" },
    { id: 1, name: "John" },
    { id: 3, name: "Bob" }
    ];
    const uniqueArray = array.filter((obj, index, self) =>
    index === self.findIndex((el) =>
    el.id === obj.id && el.name === obj.name
    )
    );
    console.log(uniqueArray);

    この方法では、filterメソッドを使用して重複を削除します。findIndexメソッドを使用して、同じidnameを持つ最初のオブジェクトのインデックスを見つけ、そのインデックスと現在のインデックスを比較します。重複するオブジェクトは最初のインデックス以外ではじかれます。

これらの方法を使用すると、JavaScriptで配列から重複するJSONオブジェクトを削除できます。ご参考ください。