JavaScript Set

JavaScriptのSetはユニークな値のコレクションです。

各値はSet内で一度しか出現しません。

値はどんな型でも構いません。プリミティブ値やオブジェクトです。

Setの作成方法

new Set()メソッド

new Set()コンストラクタに配列を渡します:


// Setを作成する
const letters = new Set(["a", "b", "c"]);

空のSetを作成し、add()メソッドを使って値を追加する:


// Setを作成する
const letters = new Set();

// Setに値を追加する
letters.add("a");
letters.add("b");
letters.add("c");

変数を使ってSetを作成し、値を追加する:


// Setを作成する
const letters = new Set();

// 変数を作成する
const a = "a";
const b = "b";
const c = "c";

// 変数をSetに追加する
letters.add(a);
letters.add(b);
letters.add(c);

add()メソッド

値を追加する:


letters.add("d");
letters.add("e");

同じ要素を追加しても、最初の1つしか保存されません:


letters.add("a");
letters.add("b");
letters.add("c");
letters.add("c"); // この行は無視されます

要素のリスト化

for..ofループを使ってすべてのSet要素(値)をリストアップできます:


// Setを作成する
const letters = new Set(["a", "b", "c"]);

// すべての要素をリストアップする
let text = "";
for (const x of letters) {
  text += x;
}

Setはオブジェクトです

typeof演算子はオブジェクトを返します:


typeof letters;      // objectを返す

instanceof演算子はtrueを返します:


letters instanceof Set;  // trueを返す