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