【JS/TS パフォーマンス】メソッドチェーンより単一ループを使用する

【JS/TS パフォーマンス】メソッドチェーンより単一ループを使用する

複数の配列操作を組み合わせる際の最適化手法です。

パフォーマンス #Typescript#Javascript

【JS/TS パフォーマンス】メソッドチェーンより単一ループを使用する

サムネイル

複数の配列操作を組み合わせる際の最適化手法です。

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

メソッドチェーンより単一ループの方がメモリ効率と速度で優れる

メソッドチェーンは中間配列を生成するため、単一ループで処理する方が効率的です。

前提

  • filter、map、reduceなど複数の操作を連続して行う場合
  • 中間配列の生成を避けたい場合
  • メモリ使用量を削減したい場合

実際のコード

// 遅い(3回ループ)
const result = arr
  .filter(x => x > 0)
  .map(x => x * 2)
  .reduce((sum, x) => sum + x, 0);
// 速い(1回ループ)
let result = 0;
for (let i = 0; i < arr.length; i++) {
  if (arr[i] > 0) {
    result += arr[i] * 2;
  }
}

検索

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