曜日の配列があるとします。

const days = ["mon", "fri", "wed", "sat", "sun", "wed", "wed"];

この曜日の配列は、『wed』が重複しています。

重複している『wed』を取り除くには、セットを使います。

書き方は、new Set(〇〇)です。

〇〇の中は、変数名や配列が入ります。

const newDays = new Set(days);

console.log()で確認すると、

image2

『wed』重複がなくなりました。

Set の中身がいくつあるかを出力には、.sizeを使用します。

console.log(newDays.size);

image3

セットの中身は、5 つあると出力することができました。

また、セットの中に指定した文字が含まれているか確認するには、.hasを使用します。

console.log(newDays.has("wed"));
console.log(newDays.has("tue"));

image4

『wed』はセットにあるので true が、『tue』はセットにないので false が返ってきました。

そして、セットに値を追加するには、.addを使用します。

newDays.add("tue");

console.log()で確認すると、

image5

『tue』が追加されました。

例えば、『mon』を追加してみます。

newDays.add("mon");
console.log(newDays);

image6

重複しているので、『mon』は、追加されませんでした。

反対に、値を削除するには、.deleteを使用します。

newDays.delete("sun");

console.log()で確認すると、

image7

『sun』が削除されました。

セットから値を取り出すには、forを使います。

for (day of newDays) console.log(day);

image8

値を取り出すことができました。

セットの値を配列にするには、スプレッド演算子を使います。

const newDay = [...newDays];

image9

セットの値が、配列になりました。

重複を取り除きたい時に便利なので、ぜひ使ってみてください。

ブログ一覧