Rxjs-mathematical-operator-reduce

提供:Dev Guides
移動先:案内検索

RxJS-数学演算子の削減

reduceオペレーターでは、入力オブザーバブルでアキュムレーター関数が使用され、アキュムレーター関数は、オプションのシード値をアキュムレーター関数に渡して、オブザーバブルの形式で累積値を返します。

reduce()関数は2つの引数を受け取り、1つはアキュムレーター関数で、もう1つはシード値です。

構文

reduce(accumulator_func, seeder?) : Observable

パラメーター

*_accumulator_func_* -(オプション)。 オブザーバブルからのソース値で呼び出される関数。
*_seeder_* -((オプション)デフォルトでは未定義です。 累積のために考慮される初期値。

戻り値

単一の累積値を持つオブザーバブルを返します。

いくつかの例を見て、reduce演算子の動作を確認します。

例1

import { from } from 'rxjs';
import { reduce } from 'rxjs/operators';

let items = [
   {item1: "A", price: 1000.00},
   {item2: "B", price: 850.00},
   {item2: "C", price: 200.00},
   {item2: "D", price: 150.00}
];
let final_val = from(items).pipe(reduce((acc, itemsdet) => acc+itemsdet.price, 0));
final_val.subscribe(x => console.log("Total Price is: "+x));

出力

Total Price is: 2200