導入
配列とオブジェクト以外にも、用途に特化した入れ物があります。Set は重複のない集合、Map は任意のキーと値の対応表です。
説明
Set は同じ値を1つしか持ちません。追加は add、含むかは has です。
const tags = new Set(["js", "html", "js", "css"]);
console.log(tags); // Set { "js", "html", "css" }(重複除去)
console.log(tags.size); // 3
tags.add("node");
console.log(tags.has("html")); // true
配列の重複除去にも使えます。
const raw = [1, 2, 2, 3, 1];
const unique = [...new Set(raw)];
console.log(unique); // [1, 2, 3]
Map はキーと値のペアを持ちます。オブジェクトと違い、キーに文字列以外(数値など)も使えます。
const scores = new Map();
scores.set("太郎", 90);
scores.set("花子", 85);
console.log(scores.get("太郎")); // 90
console.log(scores.has("次郎")); // false
console.log(scores.size); // 2
やってみよう
好きな単語の Set や、名前と点数の Map を作って操作してみましょう。
演習
const ids = [1, 3, 1, 2, 3]; の重複を除いた配列を Set を使って作り、表示してください。
ヒント1を見る
console.log([...new Set(ids)]);