Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
20
Przykładyużycia
Wpowyższymprzykładzienapoczątkujestdefniowanyzestawwartości,
naktórychbędąwykonywanedziałania.Następniejesttworzonafunkcja,która
sumujeelementy.Wartozwrócićuwagęnasposóbfzycznegosumowaniaelemen-
tów(returnmemo+numer).Jestonozaimplementowanezgodniezzalece-
niamitwórcówUnderscore.js,czyliprzyużyciuelementumemo.Jeżelichodzi
owyświetlaniewartości,towyświetlamytutajkażdąiterację,jeślizdefniowany
jestelementmemo,orazostatecznywyniksumowania.
Rysunek5.Wynikdziałaniafunkcjireduce
Jakwidaćnarysunku5,naszkodzachowałsiętak,jaksiętegospodziewaliśmy.
Zostałyzapisanekolejnozarównowszystkieoperacjesumowania,jakiostateczny
wynik.
_.reduceRight(list,iterator,memo)
Funkcjatajestniemalidentycznazomawianąwpoprzednimpunkcie.Odzwykłej
funkcjireduceróżnisięonatylkotym,żeelementyprzeglądaneodkońca.
Dlategowłaśniejejdziałaniezaprezentujemywmożliwienajprostszysposób.
Zamieniamywywołaniefunkcjireducezpoprzedniegoprzykładunawywołanie
reduceRight.
Listing6.UżyciefunkcjireduceRight
varsumValues=[1,2,3,4,5,6];
varsumFunction=function(memo,number){
if(memo){
console.log(‘Adding+memo+and+number);
}
returnmemo+number;
};
console.log(_.reduceRight(sumValues,sumFunction));