概要
アキュムレータに対して関数を適用し、隣り合う二つのtyped arrayの要素(左から右へ)は単一の値になります。このメソッドは、Array.prototype.reduce()と同じアルゴリズムを持っています。TypedArrayは、ここではtyped array typesの一つです。
構文
typedarray.reduce(callback[, initialValue])
引数
callback- typed array内の各要素で実行する関数。四つの引数を持ちます。:
previousValue- コールバック関数の最後の呼び出しで以前に返された値。または、提供されている場合、
initialValue(下を見てください)。 currentValue- typed array内で処理されている現在の要素。
index- typed array内で処理されている現在の要素のインデックス。
arrayreduceが呼ばれているtyped array。
initialValue- オプション。
callback関数の最初の呼び出しの最初の引数として使用するオブジェクト。
説明
reduceメソッドは、typed array内に存在している各要素に対して一度callback関数を実行します。その関数は、四つの引数を持ちます。: 初期値(または、以前のcallback関数の呼び出しから返ってくる値)、現在の要素の値、現在のインデックス、反復を実施しているtyped array。
callback関数が最初に呼ばれたとき、previousValueとcurrentValueは、二つの値の一つを取り得ます。reduceの呼び出し時にinitialValueが与えられた場合、previousValueはinitialValueと等しくなり、currentValueは、typed arrayの最初の値と等しくなります。initialValueが与えられなかった場合、previousValueは、typed arrayの最初の値と等しくなり、currentValueは、二番目の値と等しくなります。
typed arrayが空で、initialValueが与えられなかった場合、TypeErrorがスローされます。typed arrayが(位置に関係なく)一つの要素しか持たなく、initialValueが与えられなかった場合、もしくは、initialValueが与えられたがtyped arrayが空の場合、callback関数の呼び出しなしで、単独の値が返されることになります。
例
例: 配列内のすべての値を合計する
var total = new Uint8Array([0, 1, 2, 3]).reduce(function(a, b) {
return a + b;
});
// total == 6
仕様
| 仕様 | 状況 | コメント |
|---|---|---|
| ECMAScript 2015 (6th Edition, ECMA-262) %TypedArray%.prototype.reduce の定義 |
標準 | 初期定義。 |
ブラウザ実装状況
現在、互換性データを可読形式の JSON フォーマットに置き換えているところです。
この互換性一覧は古い形式を使っており、これに含まれるデータの置き換えが済んでいません。
手助けしていただける場合は、こちらから!
| 機能 | 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) | ? | ? | ? |