【JS/TS パフォーマンス】filter+indexOfよりSetを使用する(重複除去)

【JS/TS パフォーマンス】filter+indexOfよりSetを使用する(重複除去)

配列から重複要素を除去する最適な方法です。

パフォーマンス #Typescript#Javascript

【JS/TS パフォーマンス】filter+indexOfよりSetを使用する(重複除去)

サムネイル

配列から重複要素を除去する最適な方法です。

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

filter+indexOfよりSetの方がO(n)で高速

Setを使用することで、O(n²)の計算量をO(n)に削減。

前提

  • プリミティブ値の重複除去の場合
  • 配列サイズが大きい場合
  • 順序を保持する必要がある場合

実際のコード

// 遅い(O(n²))
const unique = arr.filter((item, index) => 
  arr.indexOf(item) === index
);
// 速い(O(n))
const unique = [...new Set(arr)];

検索

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