set で重複を除去する
コンピューターサイエンス理論 / 全 5 枚
コンピューターサイエンス理論 - set で重複を除去する
同じ値は1個しか持てない
set は「もう持っているか」をすぐ答えられる入れ物です。同じ値を何度入れても中身は 1 個のままなので、重複除去がそのまま1行で書けます。
set が速いのは、値そのものから入れ場所を決めているからです。その仕組みを次の図解で見ます。
配列で includes を回すと毎回先頭から探し直しますが、set は探さずに置き場所を計算します。
const nums = [3, 1, 3, 2, 1];
const uniq = [...new Set(nums)]; // [3, 1, 2]1 / 5
← → キーでも送れます