TypedArray.prototype.reduceRight()

この翻訳は不完全です。英語から この記事を翻訳 してください。

概要

アキュムレータに対して関数を適用し、隣り合う二つのtyped arrayの要素(右から左へ)は単一の値になります。このメソッドは、Array.prototype.reduceRight()と同じアルゴリズムを持っています。TypedArrayは、ここではtyped array typesの一つです。

構文

typedarray.reduceRight(callback[, initialValue])

引数

callback
typed array内の各値で実行する関数。四つの引数を持ちます。:
previousValue
コールバック関数の最後の呼び出しで以前に返された値。または、提供されている場合、initialValue(下を見てください).
currentValue
typed array内で処理されている現在の要素。
index
typed array内で処理されている現在の要素のインデックス。
array
reduceが呼ばれているtyped array。
initialValue
任意。callback関数の最初の呼び出しの最初の引数として使用するオブジェクト。

説明

reduceRightメソッドは、内に存在している各要素に対して一度callback関数を実行します。null等の穴は除外され、また、そのcallback関数は、四つの引数を持ちます。:初期値(または、以前のcallback関数の呼び出しから返ってくる値)、現在の要素の値、現在のインデックス、反復を実施しているtyped array

reduceRightのcallbackの呼び出しは、下記のようになります。:

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

callback関数が最初に呼ばれたとき、previousValuecurrentValueは、二つの値の一つを取り得ます。reduceRightの呼び出し時にinitialValueが与えられた場合、previousValueinitialValueに等しくなり、currentValueは、typed arrayの最後の値と等しくなります。initialValueが与えられなかった場合、previousValueは、typed arrayの最後の値と等しくなり、currentValue最後から数えて 2 番目の値と等しくなります。

typed arrayが空で、initialValue が与えられなかった場合、TypeErrorがスローされます。typed arrayが(位置に関係なく)一つの要素しか持たなく、initialValue が与えられなかった場合、もしくは、initialValueが与えられたがtyped arrayが空の場合、callback関数の呼び出しなしで、単独の値が返されることになります。

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

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

仕様

仕様 状況 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
%TypedArray%.prototype.reduceRight の定義
標準 初期定義。

ブラウザ実装状況

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート ? 37 (37) ? ? ?
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート ? ? 37.0 (37) ? ? ?

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: shide55
 最終更新者: shide55,