set - Javascript

Set オブジェクトとは

重複しないデータを扱うことができます。

配列から Set オブジェクトを作成すると重複した値が取り除かれるため、重複しないデータにしたい場合に使用できます。

Set オブジェクトは次のようにすることで生成できます。

let set1 = new Set([1]);
let set2 = new Set([1, 2, 3, 4, 5]);

また、次のように配列から Set オブジェクトを生成することができます。

配列に重複する値がある場合は、Set オブジェクトが生成される際に取り除かれます。

let arr = [1, 2, 3, 4, 5, 3];

let set = new Set(arr);
console.log(set); // Set(5) { 1, 2, 3, 4, 5 }

set オブジェクトのメソッド

データの追加と削除

let arr = [1, 2, 3, 4, 5, 3];

let set = new Set(arr);
set.add(6);
console.log(set); // Set(6) { 1, 2, 3, 4, 5, 6 }
set.delete(3);
console.log(set); // Set(5) { 1, 2, 4, 5, 6 }

データのすべて削除

let arr = [1, 2, 3, 4, 5, 3];

let set = new Set(arr);
set.clear();
console.log(set); // Set(0) {}

Set に要素が存在するか調べる

要素が存在するかどうかを論理値で返します。

let arr = [1, 2, 3, 4, 5, 3];

let set = new Set(arr);
console.log(set.has(3)); // true
console.log(set.has(9)); // false

Set の要素の数を取得

let arr = [1, 2, 3, 4, 5, 3];

let set = new Set(arr);
console.log(set.size); // 5

forEach

let arr = [1, 2, 3, 4, 5, 3];

let set = new Set(arr);

set.forEach((value1, value2, map) => {
  console.log(value1);
  console.log(value2);
  console.log(map);
});