es6の配列とオブジェクトの重複削除方法は何ですか?

ES6では、Setデータ構造を使って配列やオブジェクトの重複を取り除くことができる。Setは特別なデータ構造で、重複を許さず、一意の値のみを保持する。

配列を重複なしにするには、配列をSetに変換してからSetを再び配列に変換することで重複値を除去できます。例えば:

const array = [1, 2, 3, 3, 4, 5, 5];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // [1, 2, 3, 4, 5]

オブジェクトの重複を削除する際には、まずオブジェクトを文字列に変換し、その後Setを使用して重複を削除し、最後に再度文字列をオブジェクトに変換します。例えば:

const array = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 1, name: 'Alice' },
  { id: 3, name: 'Charlie' }
];

const uniqueArray = Array.from(new Set(array.map(JSON.stringify))).map(JSON.parse);
console.log(uniqueArray);
// [
//   { id: 1, name: 'Alice' },
//   { id: 2, name: 'Bob' },
//   { id: 3, name: 'Charlie' }
// ]

注意すべきことは、Setは基本データ型の重複のみを取り除くことができるということです。オブジェクトなどの複雑な型の値に対しては、まずそれを文字列に変換してから重複を取り除く必要があります。

bannerAds