【JavaScript ECMAScript】TypedArray::TypedArray.prototype.reduceインスタンスメソッドの使い方
TypedArray.prototype.reduce()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
TypedArray.prototype.reduce()メソッドは、TypedArrayの各要素に対して指定されたコールバック関数を順次実行し、それらを一つの単一の値に集約するメソッドです。例えば、配列内の数値の合計を計算したり、配列の要素を連結して文字列を作成したり、複雑なデータ構造から特定の情報を取り出して集計したりする場面で非常に有用です。
このメソッドは、主要な引数として「コールバック関数」と、オプションで「初期値」を受け取ります。コールバック関数は、これまでの処理結果である「累積値」、現在処理している配列の「現在の要素の値」、その要素の「インデックス」、そして元の「TypedArray」自身を引数として受け取ることができます。この関数は、次の処理に引き継ぐ新しい累積値を返します。
初期値を指定した場合、その値が最初の累積値として使われ、配列の最初の要素からコールバック関数が適用されます。一方、初期値を指定しない場合、配列の最初の要素が最初の累積値となり、処理は配列の2番目の要素から開始されます。全ての要素が処理し終わった後、最終的に計算された単一の累積値がこのメソッドの戻り値として返されます。
reduce()メソッドは、データの集計や変換において強力なツールですが、空のTypedArrayに対して初期値を指定せずに呼び出すとエラーが発生するため、使用時には注意が必要です。
構文(syntax)
1typedArray.reduce((accumulator, currentValue, currentIndex, array) => { 2 // accumulator: 直前のコールバック呼び出しの戻り値、またはinitialValue 3 // currentValue: 現在処理中の要素 4 // currentIndex: 現在処理中の要素のインデックス 5 // array: reduceが呼び出された配列 6 return accumulator + currentValue; // 例: 要素の合計を計算 7}, initialValue);
引数(parameters)
callbackFn, initialValue
- callbackFn: (accumulator, currentValue, currentIndex, array) => accumulator: 配列の各要素に対して実行されるコールバック関数。
- accumulator: コールバック関数の前回の呼び出しで返された値。
- currentValue: 処理対象の現在の要素。
- currentIndex: 処理対象の現在の要素のインデックス。
- array: reduce()メソッドが呼び出された配列。
- initialValue?: any: コールバック関数の最初の呼び出しで、accumulatorとして使用される初期値。省略された場合、配列の最初の要素が初期値として使用されます。
戻り値(return)
any
TypedArray.prototype.reduce() メソッドは、配列の各要素に対してコールバック関数を実行し、その結果を単一の値に集約して返します。