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

【JavaScript ECMAScript】Array::Array.prototype.reduceRightインスタンスメソッドの使い方

Array.prototype.reduceRight()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Array.prototype.reduceRight()メソッドは、配列の要素を右端から左端に向かって順番に処理し、それらを単一の値に集約するメソッドです。これは「畳み込み(reduction)」と呼ばれる操作を実行します。

このメソッドは、各要素に対して開発者が指定するコールバック関数を一度ずつ実行します。コールバック関数は、前回の処理結果である「累積値」、現在処理中の「要素」、その「インデックス」、そしてこのメソッドが呼び出された「配列」自体を引数として受け取ります。コールバック関数が返す値が、次の要素を処理する際の新しい累積値となります。

reduceRight()の大きな特徴は、処理の方向が配列の右端から左端へ進む点です。また、コールバック関数の初回呼び出し時に使用される「初期値」をオプションで指定できます。初期値が指定された場合、それが最初の累積値となります。もし初期値が省略された場合、配列の最後の要素が最初の累積値となり、処理は最後から二番目の要素から開始されます。

このメソッドは、配列の要素を逆順に連結したり、特定の計算を右から左へ適用したりする際に特に役立ちます。元の配列自体を変更することなく、計算された単一の新しい値を返します。ただし、初期値が指定されず、かつ対象の配列が空である場合にはTypeErrorが発生しますので注意が必要です。

公式リファレンス: Array.prototype.reduceRight()

構文(syntax)

1const myArray = [1, 2, 3, 4];
2
3const result = myArray.reduceRight((accumulator, currentValue, currentIndex, array) => {
4  return accumulator + currentValue;
5}, 0);

引数(parameters)

callbackFn, initialValue = undefined

  • callbackFn: 実行するコールバック関数。配列の各要素に対して順に実行されます。
  • initialValue: コールバック関数の初回呼び出しに提供される初期値。省略された場合、配列の最後の要素が初期値として使用され、配列から削除されます。

戻り値(return)

任意の型の値

指定された配列の全要素に対して、左から右への順番で、指定されたコールバック関数を実行した最終的な結果を返します。

関連コンテンツ

関連プログラミング言語