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