【JSリファレンス】Uint8Array.prototype.reduceRight()

更新日:2024/06/14

Uint8Array.prototype.reduceRight()は、Uint8Arrayオブジェクト(Uint8Arrayコンストラクターのインスタンス)プロトタイプチェーンに組み込まれるメソッドです。

このメソッドは、Uint8Arrayオブジェクトの全要素を使用して何らかの結果を得ることを目的としたツールメソッドです。

Uint8Array.prototype.reduce()が要素の先頭から処理されるのに対し、Uint8Array.prototype.reduceRight()は後方から処理されます。

 

■構文

Uint8Array.prototype.reduceRight ( callbackfn [ , initialValue ] )
  1. callbackfn: 各要素毎に呼び出される関数

    要素数が1で initialValue が省略された場合、呼び出されない

  2. initialValue: 省略可能。

    callbackfnの初回呼び出しで第一引数に渡される値

最後の callbackfn 呼び出しで返ってきた値。
要素数が1で initialValue が省略された場合、その要素の値。

※配列の要素数が0の場合、TypeError例外が発生します。

 

■callbackfnの構文

callbackfn ( previousValue , currentValue , currentIndex , array ){ }
  1. previousValue:
    初回はinitialValue
    initialValue が省略されている場合は、元となるUint8Arrayオブジェクトの最後の要素。

    2回目以降は、前回の callbackfn 呼び出しの戻り値。

  2. currentValue: 要素の値

    initialValue 省略時の初回呼び出しは、元となるUint8Arrayオブジェクトの2番目の要素。

  3. currentIndex: currentValue のインデックス
  4. array: 対象となっているUint8Arrayオブジェクト
次回のpreviousValue

 

■使用例

▶reduceとreduceRightの結果が異なる例

const typedArray = new Uint8Array([1,2,3,4,5,6]);

const callbackfn = (pre,value) =>(pre + value) * -1;

const result1 = typedArray.reduce( callbackfn , 0 );
const result2 = typedArray.reduceRight( callbackfn , 0 );

console.log( result1 ); // -3
console.log( result2 ); // 3

更新日:2024/06/14

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://jsref.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。