Set は JavaScript における 重複のない値のコレクション(集合) を表すオブジェクトです。
配列のように見えて、同じ値を2つ以上持つことができないのが特徴です。
const mySet = new Set([値1, 値2, 値3]);
Set に値を追加・削除・確認するメソッドは以下のとおりです。
mySet.add(値); // 値を追加 mySet.delete(値); // 値を削除 mySet.has(値); // 値が存在するか確認 mySet.size; // 要素数 mySet.clear(); // 全て削除
実際に手を動かして挙動を確認してみましょう。
const set = new Set([1, 2, 3, 3, 4]); console.log(set); // Set(4) {1, 2, 3, 4}
const set = new Set(); set.add("apple"); set.add("banana"); set.add("apple"); // 重複なので追加されない console.log(set.has("apple")); // true console.log(set.has("orange")); // false set.delete("banana"); console.log(set); // Set(1) { "apple" } set.clear(); // 全削除 console.log(set); // Set(0) {}
const numbers = [1, 2, 2, 3, 3, 4]; const uniqueNumbers = [...new Set(numbers)]; console.log(uniqueNumbers); // [1, 2, 3, 4]
const set = new Set(["A", "B", "C"]); set.forEach(value => { console.log(value); }); // A // B // C
const obj1 = {}; const obj2 = {}; const set = new Set([obj1]); console.log(set.has(obj2)); // false(中身が同じでも別オブジェクトなので false)