JavaScript セット
1. JavaScript Set とは
JavaScript の Set は、ユニークな(重複のない)値のコレクションです。
- Set 内では、各値は一度しか存在できません。
- 値の型は、プリミティブ値(基本型)からオブジェクト(参照型)まで、どのような型でも格納可能です。
2. Set の作成方法
JavaScript で Set を作成するには、以下の方法があります。
new Set()に配列(Array)を渡す- 空の Set を作成し、
add()を使って値を追加する
2.1 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");変数(Variable)を 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);2.2 add() メソッド
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"); // 重複:無視される3. 要素の列挙(Listing the Elements)
for..of ループを使用することで、Set のすべての要素(値)をリスト化(反復処理)できます。
// Set(セット)を作成する
const letters = new Set(["a", "b", "c"]);
// すべての要素を列挙する
let text = "";
for (const x of letters) {
text += x;
}4. オブジェクトとしての Set
JavaScript において、Set はオブジェクトの一種です。
typeof 演算子は "object" を返します。
typeof letters; // "object" を返しますinstanceof Set は true を返します。
letters instanceof Set; // true を返します5. ブラウザのサポート状況
Set は ES6 (ECMAScript 2015) で導入された機能です。
ES6 は、2017年6月以降、すべてのモダンブラウザで完全にサポートされています。
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 51 (2016年5月) | 15 (2017年4月) | 54 (2017年6月) | 10 (2016年9月) | 38 (2016年6月) |