RxJS - Opérateur mathématique Réduire
Dans l'opérateur de réduction, la fonction d'accumulateur est utilisée sur l'observable d'entrée, et la fonction d'accumulateur renverra la valeur accumulée sous la forme d'une observable, avec une valeur de départ facultative transmise à la fonction d'accumulateur.
La fonction reduction () prendra 2 arguments, une fonction d'accumulateur et le second est la valeur de départ.
Syntaxe
reduce(accumulator_func, seeder?) : Observable
Paramètres
accumulator_func- (facultatif). une fonction qui est appelée sur les valeurs source des observables.
seeder - ((facultatif) Par défaut, elle n'est pas définie. La valeur initiale à prendre en compte pour l'accumulation.
Valeur de retour
Il renverra une observable qui aura une seule valeur accumulée.
Nous verrons quelques exemples pour voir comment fonctionne l'opérateur de réduction.
Exemple 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));
Production
Total Price is: 2200