JavaScript Setメソッド
JavaScriptのSetメソッドについて学びます。
new Set()メソッド
new Set()コンストラクタに配列を渡します:
// Setを作成する
const letters = new Set(["a", "b", "c"]);
add()メソッド
値を追加する:
letters.add("d");
letters.add("e");
同じ要素を追加しても、最初の1つしか保存されません:
letters.add("a");
letters.add("b");
letters.add("c");
letters.add("c"); // この行は無視されます
Set要素のリスト化
for..ofループを使ってすべてのSet要素(値)をリストアップできます:
// Setを作成する
const letters = new Set(["a", "b", "c"]);
// すべての要素をリストアップする
let text = "";
for (const x of letters) {
text += x;
}
has()メソッド
指定した値がSet内に存在する場合、trueを返します:
// Setを作成する
const letters = new Set(["a", "b", "c"]);
// Setに "d" が含まれているか?
const answer = letters.has("d");
forEach()メソッド
forEach()メソッドは各Set要素に対して関数を呼び出します:
// Setを作成する
const letters = new Set(["a", "b", "c"]);
// すべてのエントリーをリストアップする
let text = "";
letters.forEach(function(value) {
text += value;
});
values()メソッド
values()メソッドはSet内の値を持つIteratorオブジェクトを返します:
// Setを作成する
const letters = new Set(["a", "b", "c"]);
// すべての値を取得する
const myIterator = letters.values();
// すべての値をリストアップする
let text = "";
for (const entry of myIterator) {
text += entry;
}
keys()メソッド
keys()メソッドはSet内の値を持つIteratorオブジェクトを返します:
注意: Setにはキーがないため、keys()はvalues()と同じ結果を返します。これにより、SetsはMapsと互換性があります。
// Setを作成する
const letters = new Set(["a", "b", "c"]);
// Iteratorを作成する
const myIterator = letters.keys();
// すべての要素をリストアップする
let text = "";
for (const x of myIterator) {
text += x;
}
entries()メソッド
entries()メソッドはSetから[value, value]のペアを持つIteratorを返します:
注意: entries()メソッドはオブジェクトから[key, value]のペアを返すことを意図していますが、Setにはキーがないため[value, value]のペアを返します。これにより、SetsはMapsと互換性があります。
// Setを作成する
const letters = new Set(["a", "b", "c"]);
// すべてのエントリーを取得する
const myIterator = letters.entries();
// すべてのエントリーをリストアップする
let text = "";
for (const entry of myIterator) {
text += entry;
}