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