【JS/TS パフォーマンス】includesよりSet.hasを使用する(複数回検索)

【JS/TS パフォーマンス】includesよりSet.hasを使用する(複数回検索)

配列内の要素存在確認を効率化する方法です。

パフォーマンス #Javascript#Typescript

【JS/TS パフォーマンス】includesよりSet.hasを使用する(複数回検索)

サムネイル

配列内の要素存在確認を効率化する方法です。

更新日: 8/25/2025
SOLUTION - 解決策

includesよりSet.hasの方がO(1)で高速

複数回の検索を行う場合、Setを使用することで検索時間を大幅に短縮できます。

前提

  • 同じ配列に対して複数回の検索を行う場合
  • 配列のサイズが大きい場合(100件以上)
  • 初期化コストを上回る検索回数がある場合

実際のコード

// 遅い(O(n))
const exists = arr.includes(value);
// 速い(O(1))
const set = new Set(arr);
const exists = set.has(value);

検索

検索条件に一致する記事が見つかりませんでした