Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】Array::reduce()メソッドの使い方

reduceメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

reduceメソッドは、配列のすべての要素に対して与えられた関数を左から右へ順に一度ずつ実行し、最終的に単一の集約された値を生成するために使用されるメソッドです。このメソッドは、callbackFninitialValueの二つの引数を取ります。callbackFnは配列の各要素に対して実行される関数で、これには四つの引数が渡されます。一つ目はaccumulatorで、これまでの処理によって蓄積された値です。二つ目はcurrentValueで、現在処理中の配列の要素です。三つ目はcurrentIndexで、現在処理中の要素のインデックスです。四つ目はarrayで、reduceが呼び出された元の配列です。callbackFnの戻り値は、次回のaccumulatorとして次の要素の処理に引き継がれます。二つ目の引数であるinitialValueは、処理を開始する際のaccumulatorの初期値を指定します。initialValueが指定された場合、accumulatorはその値から始まり、callbackFnは配列の最初の要素から実行されます。initialValueが省略された場合、配列の最初の要素が最初のaccumulatorとなり、callbackFnは配列の二番目の要素から実行されます。この場合、空の配列に対してinitialValueを指定せずにreduceを呼び出すとエラーが発生しますので注意が必要です。すべての要素の処理が完了すると、reduceメソッドは最終的なaccumulatorの値を返します。このメソッドは、配列内の数値の合計や平均値の計算、配列をオブジェクトに変換するといった、多様なデータ集約処理に非常に役立ちます。

構文(syntax)

const array = [1, 2, 3, 4];
const initialValue = 0;
const sum = array.reduce((accumulator, currentValue) => accumulator + currentValue, initialValue);
console.log(sum);

引数(parameters)

callbackFn, initialValue

  • callbackFn: (accumulator, currentValue, currentIndex, array) => any: 配列の各要素に対して実行されるコールバック関数。
    • accumulator: 累積値。コールバック関数の前回の戻り値、または initialValue。
    • currentValue: 現在処理されている配列の要素。
    • currentIndex: 現在処理されている配列の要素のインデックス。
    • array: reduce メソッドが呼び出された配列。
  • initialValue: any (省略可能): accumulator の初期値。省略された場合、配列の最初の要素が初期値として使用されます。

戻り値(return)

any

reduceメソッドは、配列の各要素に対してコールバック関数を実行し、その結果を単一の値に集約したものを返します。

関連コンテンツ

関連プログラミング言語