TypedArray.prototype.reduceRight()

reduceRight() メソッドは、アキュームレーターと型付きのそれぞれの値に対して (右から左へ) 関数を適用していき、単一の値にまとめます。このメソッドは、Array.prototype.reduceRight()と同じアルゴリズムです。 TypedArray は、ここでは型付き配列型の一つです。

構文

typedarray.reduceRight(callback[, initialValue])

引数

callback
型付き配列内の各値に対して実行する関数です。4 つの引数を取ります。
previousValue
前回のコールバック関数の呼び出しで返された値。または、提供された場合は initialValue (下記参照)。
currentValue
現在処理されている型付き配列の要素。
index
現在処理されている型付き配列要素の添字。
array
reduceRight() が呼び出された型付き配列
initialValue
任意。 callback 関数の最初の呼び出しの最初の引数として使用するオブジェクト。

返値

畳み込みによって得られた 1 つの値です。

解説

reduceRight メソッドは、型付き配列に存在するそれぞれの要素に対して (型付き配列の中の穴は除く) callback 関数を一度ずつ実行します。この関数は、初期値 (または直前の callback 呼び出し)、現在の要素の値、現在の添字、反復処理中の型付き配列の 4 つの引数を受け取ります。

reduceRight のコールバックの呼び出しは、下記のようになります。

typedarray.reduceRight(function(previousValue, currentValue, index, typedarray) {
  // ...
});

最初にコールバック関数が呼び出されたときは、 previousValuecurrentValue は、二つの値を一つにまとめます。 reduceRight の呼び出し時に initialValue が与えられた場合、 previousValueinitialValue に等しくなり、 currentValue は、型付き配列の最後の値と等しくなります。 initialValue が与えられなかった場合、 previousValue は、型付き配列の最後の値と等しくなり、 currentValue は最後から数えて 2 番目の値と等しくなります。

型付き配列が空で、 initialValue が与えられなかった場合、 TypeError が発生します。型付き配列が (位置に関係なく) 一つの要素しか持たず、 initialValue が与えられなかった場合、もしくは、 initialValue が与えられたが型付き配列が空の場合、 callback 関数の呼び出しなしで、単独の値が返されることになります。

配列内のすべての値を合計する

var total = new Uint8Array([0, 1, 2, 3]).reduceRight(function(a, b) {
  return a + b;
});
// total == 6

仕様書

仕様書
ECMAScript (ECMA-262)
%TypedArray%.prototype.reduceRight の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
reduceRightChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 32Safari 完全対応 10WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 37Opera Android 未対応 なしSafari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0

凡例

完全対応  
完全対応
未対応  
未対応

関連情報