es6の配列オブジェクトの重複排除方法はいくつありますか?
ES6では、配列オブジェクトを重複なしにするためのいくつかの方法があります。
- 使用する際のSet:SetはES6で追加されたデータ構造で、セット内の要素が唯一であることを保証します。重複した項目を取り除くためにSetを使用し、その後Setを配列に変換することができます。以下はサンプルコードです:
const arr = [1, 2, 3, 3, 4, 5, 5];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]
- Array.from()とSetを使用すると、配列をSetに変換した後に再度配列に戻すことができます。以下に例を示します。
const arr = [1, 2, 3, 3, 4, 5, 5];
const uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4, 5]
- filter() メソッドの使用:このメソッドを使用すると、配列を走査し、初めに現れた要素を保持し、後続の重複する要素をフィルタリングすることができます。以下はサンプルコードです。
const arr = [1, 2, 3, 3, 4, 5, 5];
const uniqueArr = arr.filter((item, index) => arr.indexOf(item) === index);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
- reduce()メソッドを使用すると、配列を走査して、各要素を結果の配列に追加することができますが、重複する要素は最初に出現した要素のみを追加し、後続の重複した要素はフィルタリングされます。以下に示すコード例:
const arr = [1, 2, 3, 3, 4, 5, 5];
const uniqueArr = arr.reduce((result, item) => {
if (!result.includes(item)) {
result.push(item);
}
return result;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
これらの方法は、配列オブジェクトを効果的に重複排除することができます。