【JavaScript ECMAScript】TypedArray::TypedArray.prototype.reduceRightインスタンスメソッドの使い方
TypedArray.prototype.reduceRight()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
TypedArray.prototype.reduceRight()メソッドは、TypedArrayの要素を右端から左端に向かって走査し、その結果を単一の値に集約するためのメソッドです。このメソッドは、指定された「アキュムレーター関数(callbackFn)」をTypedArrayの各要素に対して一度ずつ実行します。
アキュムレーター関数は、これまでの処理結果であるアキュムレーター、現在処理中の要素の値、そのインデックス、そして元のTypedArray自体を引数として受け取ります。関数が返す値は、次の要素の処理時にアキュムレーターとして引き継がれます。この処理は、TypedArrayの最後の要素から最初の要素まで繰り返されます。
任意でinitialValue(初期値)を指定できます。initialValueが指定された場合、アキュムレーター関数は最初の呼び出しでその値をアキュムレーターとして使用し、TypedArrayの最後の要素から処理を開始します。initialValueを省略した場合、TypedArrayの最後の要素が初期値として採用され、処理は最後から2番目の要素から開始されます。ただし、initialValueが指定されていない空のTypedArrayに対してこのメソッドを呼び出すと、TypeErrorが発生しますので注意が必要です。
最終的に、すべての要素を処理し終えた後にアキュムレーターが保持する単一の結果値が、このメソッドの戻り値となります。これにより、配列の内容を合計したり、特定の条件で結合したりといった集約処理を、右から左へという方向で効率的に行えます。
構文(syntax)
1const myTypedArray = new Int8Array([1, 2, 3, 4]); 2const result = myTypedArray.reduceRight((accumulator, currentValue) => accumulator + currentValue, 0);
引数(parameters)
callbackFn, initialValue = undefined
- callbackFn: 配列の各要素に対して実行されるコールバック関数。accumulator, currentValue, currentIndex, array の4つの引数を受け取ります。
- initialValue: optional. 最初の呼び出しで accumulator に渡される初期値。指定されない場合は、配列の最後の要素が初期値として使用されます。
戻り値(return)
any
TypedArray.prototype.reduceRight()メソッドは、配列の各要素に対してコールバック関数を右端から順に適用し、単一の値に集約した結果を返します。