forEach【要素処理】メソッド
reduce【隣接要素処理 (順方向)】メソッド
reduceRight【隣接要素処理 (逆方向)】メソッド

%TypedArray%.prototype.forEach【要素処理】メソッド

メモ

構文

forEach ( callbackfn [ , thisArg ] )

  • callbackfn:コールバック関数
    引数名 (例)説明
    value要素値
    index要素インデックス
    typedArray配列 オブジェクト
    戻り値型説明
    なし
  • thisArg:コールバック関数内でthis で参照されるオブジェクト

なし

TypeError 例外:callbackfn が呼び出し可能な関数オブジェクト以外

/**
* forEach【要素処理】のコールバック関数
 * @param {number}     value      要素の値
 * @param {number}     index      要素のインデックス
 * @param {Int32Array} typedArray 配列
 */
function callbackForEach(value, index, typedArray) {
  console.log("[" + index + "]:" + value);
}

var typedArray = new Int32Array([1, -6, 3, -4, 5, -2]);
typedArray.forEach(callbackForEach);
// 出力:[0]:1
// 出力:[1]:-6
// 出力:[2]:3
// 出力:[3]:-4
// 出力:[4]:5
// 出力:[5]:-2

%TypedArray%.prototype.reduce【隣接要素処理 (順方向)】メソッド

メモ

構文

reduce ( callbackfn [ , initialValue ] )

  • callbackfn:コールバック関数
    引数名 (例)説明
    previousValue指定された初期値 (初回) または 1つ前の呼び出し時の戻り値
    currentValue現在の要素値
    currentIndex現在の要素インデックス
    typedArray配列 オブジェクト
    戻り値型説明
    任意次回の呼び出しpreviousValue引数
  • initialValue

    初期値 (初回コールバック関数呼び出しのpreviousValue)
    省略:2つ目の要素からコールバック関数が呼び出され、1つ目の要素値がpreviousValue引数

最後のコールバック関数の戻り値 (空配列で初期値指定の場合、初期値)

TypeError 例外:callbackfn が呼び出し可能な関数オブジェクト以外 または 空配列で初期値が未指定

/**
* reduce【隣接要素処理 (順方向)】のコールバック関数
 * @param  {number}     previousValue  指定された初期値 (初回) または 1つ前の呼び出し時の戻り値
 * @param  {number}     currentValue   現在の要素値
 * @param  {number}     currentIndex   現在の要素インデックス
 * @param  {Int32Array} typedArray     配列 オブジェクト
 * @return {number}                    現在の要素値
 */
function callbackReduce(previousValue, currentValue, currentIndex, typedArray) {
  console.log("[" + currentIndex + "]:" + currentValue + " (" + (currentValue - previousValue) + ")");
  return currentValue;
}

var typedArray = new Int32Array([1, -6, 3, -4, 5, -2]);
console.log(typedArray.reduce(callbackReduce, 0));
// 出力:[0]:1 (1)
// 出力:[1]:-6 (-7)
// 出力:[2]:3 (9)
// 出力:[3]:-4 (-7)
// 出力:[4]:5 (9)
// 出力:[5]:-2 (-7)
// 出力:-2

%TypedArray%.prototype.reduceRight【隣接要素処理 (逆方向)】メソッド

メモ

構文

reduceRight ( callbackfn [ , initialValue ] )

  • callbackfn:コールバック関数
    引数名 (例)説明
    previousValue指定された初期値 (初回) または 1つ前の呼び出し時の戻り値
    currentValue現在の要素値
    currentIndex現在の要素インデックス
    typedArray配列 オブジェクト
    戻り値型説明
    任意次回の呼び出しpreviousValue引数
  • initialValue

    初期値 (初回コールバック関数呼び出しのpreviousValue)
    省略:最後から2つ目の要素からコールバック関数が呼び出され、最後の要素値がpreviousValue引数

最後のコールバック関数の戻り値 (空配列で初期値指定の場合、初期値)

TypeError 例外:callbackfn が呼び出し可能な関数オブジェクト以外 または 空配列で初期値が未指定

/**
* reduceRight【隣接要素処理 (逆方向)】のコールバック関数
 * @param  {number}     previousValue  指定された初期値 (初回) または 1つ前の呼び出し時の戻り値
 * @param  {number}     currentValue   現在の要素値
 * @param  {number}     currentIndex   現在の要素インデックス
 * @param  {Int32Array} typedArray     配列 オブジェクト
 * @return {number}                    現在の要素値
 */
function callbackReduceRight(previousValue, currentValue, currentIndex, typedArray) {
  console.log("[" + currentIndex + "]:" + currentValue + " (" + (currentValue - previousValue) + ")");
  return currentValue;
}

var typedArray = new Int32Array([1, -6, 3, -4, 5, -2]);
console.log(typedArray.reduceRight(callbackReduceRight, 0));
// 出力:[5]:-2 (-2)
// 出力:[4]:5 (7)
// 出力:[3]:-4 (-9)
// 出力:[2]:3 (7)
// 出力:[1]:-6 (-9)
// 出力:[0]:1 (7)
// 出力:1

関連