【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)
任意の型の値
指定された配列の全要素に対して、左から右への順番で、指定されたコールバック関数を実行した最終的な結果を返します。