ES6の配列を自動的に重複を削除する方法は何ですか?
ES6では、Setデータ構造を使用して配列の重複を自動的に取り除くことができます。Setは、配列に類似したデータ構造であり、任意のタイプの一意な値を格納することができます。
配列の自動的な重複排除は、以下の手順で実現できます。
- ユニークなセットを新たに作成します。
- 配列.forEach(item => uniqueSet.add(item));
- ユニークなセットからユニークな配列を作成するには、uniqueArray = Array.from(uniqueSet); を使用します。
以下に完全なコードの例を示します:
const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueSet = new Set();
array.forEach(item => uniqueSet.add(item));
const uniqueArray = Array.from(uniqueSet);
console.log(uniqueArray); // 输出:[1, 2, 3, 4, 5, 6]
さらに、ES6では、スプレッド演算子(spread operator)を使用して、配列の自動的な重複削除を実現するより簡潔な書き方も提供されています。以下に示す通りです:
const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // 输出:[1, 2, 3, 4, 5, 6]
Setデータ構造を使用すると、自動的に配列の重複を排除することが簡単になりますが、注意すべき点は、Setに保存される値はユニークであるが、それらのデータ型は暗黙的に変換されないことです。つまり、文字列と数字が同じ値を持っている場合でも、それらは別々の値として扱われます。