【JS/TS パフォーマンス】findよりforループ+breakを使用する

【JS/TS パフォーマンス】findよりforループ+breakを使用する

配列から特定の要素を検索する際の最適化です。

パフォーマンス #Javascript#Typescript

【JS/TS パフォーマンス】findよりforループ+breakを使用する

サムネイル

配列から特定の要素を検索する際の最適化です。

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

findよりforループ+breakの方が約1.2倍高速

findメソッドのコールバックオーバーヘッドを避けることで高速化できます。

前提

  • 単純な条件での検索の場合
  • 最初にマッチした要素のみが必要な場合
  • パフォーマンスが重要な場合

実際のコード

// 遅い
const item = arr.find(x => x.id === targetId);
// 速い(約1.2倍)
let item;
for (let i = 0; i < arr.length; i++) {
  if (arr[i].id === targetId) {
    item = arr[i];
    break;
  }
}

検索

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