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)];