JavaScriptで配列から重複するJSONオブジェクトを削除する方法についていくつかの方法を説明します。以下のコード例を参考にしてください。
-
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.from
とmap(JSON.parse)
を使用して元のJSONオブジェクトの形式に戻します。 -
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
メソッドを使用して、同じid
とname
を持つ最初のオブジェクトのインデックスを見つけ、そのインデックスと現在のインデックスを比較します。重複するオブジェクトは最初のインデックス以外ではじかれます。
これらの方法を使用すると、JavaScriptで配列から重複するJSONオブジェクトを削除できます。ご参考ください。