JavaScript Set
JavaScriptのSetは、一意の値のコレクションです。
各値はセット内で1度しか出現しません。
Setは、任意のデータ型の任意の値を保持できます。
メソッドの設定
Method | 説明 |
---|---|
new Set() | 新しいセットを作成 |
add() | Set に新しい要素を追加 |
delete() | Setから要素を削除 |
has() | 値が存在する場合はtrueを返却 |
clear() | Setからすべての要素を削除 |
forEach() | 各要素のコールバックを呼び出す |
values() | Set内のすべての値を持つIteratorを返却 |
key() | values()と同じ |
entries() | Setの[value,value]ペアを持つIteratorを返却 |
Property | 説明 |
---|---|
size | Set内の要素数を返却 |
Setの作成方法
次の方法でSetを作成できます。
new Set()
へ配列を渡す- 新しいSetを作成して、
add()
を使用して値を追加する - 新しいSetを作成して、
add()
を使用して変数を追加する
new Set()メソッド
new Set()
コンストラクタにArrayを渡します。
Set を作成し、リテラル値を追加します。
例
// Setを作成
const letters = new Set();
// Setへの値の追加
letters.add("a");
letters.add("b");
letters.add("c");
Set を作成し、変数を追加します。
例
// 変数を作成
const a = "a";
const b = "b";
const c = "c";
// Setを作成
const letters = new Set();
// Setに変数を追加
letters.add(a);
letters.add(b);
letters.add(c);
add()メソッド
同一の要素を追加すると、最初の要素のみが保存されます。
例
letters.add("a");
letters.add("b");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
forEach() メソッド
forEach()
メソッドは、各Set要素に対して関数を呼び出します。
例
// Setを作成
const letters = new Set(["a","b","c"]);
// List内の全ての要素に対して処理を行う
let text = "";
letters.forEach (function(value) {
text += value;
})
values()メソッド
values()
メソッドは、Set内のすべての値を含むIteratorオブジェクトを返します。
これで、Iterator オブジェクトを使用して要素にアクセスできます。
例
// Iteratorを作成
const myIterator = letters.values();
// 全ての値をListにする
let text = "";
for (const entry of myIterator) {
text += entry;
}
keys()メソッド
Setにはキーがありません。keys()
はvalues()
と同じものを返します。
これにより、セットはマップと互換性があります。
entry()メソッド
Setにはキーがありません。entries()
は、[key,value]ペアの代わりに[value,value]ペアを返します。
これにより、SetsとMapsは互換性を持つようになります。
例
// Iteratorを作成
const myIterator = letters.entries();
// 全ての値をListにする
let text = "";
for (const entry of myIterator) {
text += entry;
}
Setはオブジェクト
Setの場合、typeof
オブジェクトを返します。
typeof letters; // Returns object
Setの場合、instanceof Set
true を返します:
letters instanceof Set; // Returns true
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。