TypedArray.prototype.reduce()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
reduce()
は TypedArray
インスタンスのメソッドで、型付き配列のそれぞれの要素に対して、ユーザーが提供した「縮小」コールバック関数を呼び出します。その際、直前の要素における計算結果の返値を渡します。型付き配列のすべての要素に対して縮小関数を実行した結果が単一の値が最終結果になります。このメソッドは、Array.prototype.reduce()
と同じアルゴリズムです。
試してみましょう
構文
reduce(callbackFn)
reduce(callbackFn, initialValue)
引数
callbackFn
-
型付き配列の各要素に対して実行される関数です。その返値は、次に
callbackFn
を呼び出す際のaccumulator
引数の値になります。最後の呼び出しでは、返値はreduce()
の返値となります。この関数は以下の引数で呼び出されます。accumulator
-
前回
callbackFn
を呼び出した結果の値。最初の呼び出しでは、後でinitialValue
を指定した場合はその値になり、指定されなかった場合はarray[0]
になります。 currentValue
-
現在の要素の値。最初の呼び出しでは、
initialValue
を指定した場合はarray[0]
となり、指定しなかった場合はarray[1]
となります。 currentIndex
-
型付き配列の
currentValue
を入力するインデックスの位置。最初の呼び出しでinitialValue
を指定した場合は0
、そうでない場合は1
となります。 array
-
reduce()
が呼び出された型付き配列。
initialValue
省略可-
コールバックが最初に呼び出された時に
accumulator
が初期化される値です。initialValue
が指定された場合、callbackFn
は配列の最初の値をcurrentValue
として実行を開始します。 もしinitialValue
が指定されなかった場合、accumulator
は配列の最初の値に初期化され、callbackFn
は配列の 2 つ目の値をcurrentValue
として実行を開始します。この場合、配列が空であれば(accumulator
として返す最初の値がなければ)エラーが発生します。
返値
型付き配列全体にわたって「縮小」コールバック関数を実行した結果の値です。
例外
TypeError
-
型付き配列に要素がなく、かつ
initialValue
が提供されなかった場合に発生します。
解説
詳細については、 Array.prototype.reduce()
をご覧ください。このメソッドは汎用的ではなく、型付き配列インスタンスに対してのみ呼び出すことができます。
例
配列内のすべての値を合計する
const total = new Uint8Array([0, 1, 2, 3]).reduce((a, b) => a + b);
// total === 6
仕様書
Specification |
---|
ECMAScript Language Specification # sec-%typedarray%.prototype.reduce |
ブラウザーの互換性
BCD tables only load in the browser