RxJS - Riduzione operatore matematico

Nell'operatore di riduzione, la funzione accumulatore viene utilizzata sull'input osservabile e la funzione accumulatore restituirà il valore accumulato sotto forma di osservabile, con un valore seme opzionale passato alla funzione accumulatore.

La funzione reduce () prenderà 2 argomenti, una funzione accumulatore e la seconda è il valore seed.

Sintassi

reduce(accumulator_func, seeder?) : Observable

Parametri

accumulator_func- (opzionale). una funzione che viene chiamata sui valori di origine dalle osservabili.

seeder - ((opzionale) Per impostazione predefinita non è definito. Il valore iniziale da considerare per l'accumulo.

Valore di ritorno

Restituirà un osservabile che avrà un unico valore accumulato.

Vedremo alcuni esempi per vedere come funziona l'operatore di riduzione.

Esempio 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));

Produzione

Total Price is: 2200