JavaScriptのSet

JavaScript Set はユニークな値の集合です。

値は Set では一度しか現れません。

値はどんな種類でも、原始値やオブジェクトができます。

Set を作成する方法

以下のように JavaScript Set を作成できます:

  1. 配列を new Set() に渡します new Set()
  2. 空の Set を作成し add() を使用して: add() 値を追加。

new Set() メソッド

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

インスタンス

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

自分で試してみる

Set を作成し値を追加:

インスタンス

// 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");

自分で試してみる

同じ要素を追加しても、最初のものだけが保存されます:

インスタンス

letters.add("a");
letters.add("b");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
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 返り値 object:

typeof letters;      // 返回 object

自分で試してみる

instanceof Set 返り値 true:

letters instanceof Set;  // 返回 true

自分で試してみる

完全な Set リファレンスマニュアル

詳細なリファレンスが必要な場合は、以下を訪れてください:JavaScript Set リファレンスマニュアル

このマニュアルにはすべての Set 属性とメソッドの説明と例が含まれています。

ブラウザのサポート

Set は ES6の機能(JavaScript 2015)。

2017年6月から、すべての現代ブラウザは ES6 をサポートしています:

Chrome Edge Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
2016年5月 2017年4月 2017年6月 2016年9月 2016年6月

Internet Explorer は Set をサポートしていません。