Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Underscore.js
21
Rysunek6.WynikdziałaniafunkcjireduceRight
Jakwidać,funkcjafaktyczniewykonałasięfiodtyłu”i,cojestoczywiste,dała
ostatecznietakisamwynikjaktakprezentowanapoprzednio.
_.fnd(list,iterator)
fndjestpierwszymomawianymprzykłademfunkcji,którejnazwamożebyćtrochę
myląca.Moimzdaniemowielelepszabyłabynazwafrst.Zarazprzekonamysię
dlaczego.Funkcjataprzyjmujedwaargumenty.Pierwszymznichjestkolekcjaele-
mentów,wktórejbędziemyczegośszukać,adrugimfunkcjazwracającaprawdę
lubfałsz.Itutajmożepojawićsiępewnenieporozumienie.Wynikiemdziałaniafnd
niejestkolekcjaelementów,dlaktórychfunkcjawejściowazwróciłaprawdę,lecz
pierwszytakielement.Dlategowłaśnienazwafrstbyłabychybajednaklepsza.
Spróbujmywywołaćfunkcjęfndtak,abyznalazłapierwszyelementwiększy
od3.
Listing7.Użyciefunkcjifnd
varsearchValues=[1,2,3,4,5,6];
varsearchFunction=function(number){
returnnumber>3;
};
console.log(_.fnd(searchValues,searchFunction));
Napoczątkunaszegoprzykładudefniujemykolekcjęliczb,którąbędziemy
przeszukiwać.Następniejestfunkcja,któradlazadanejwartościzwraca,czy
porównywanawartośćjestwiększaodtrzech.Nakońcuwidzimywywołaniefunk-
cjifnd,którakorzystazdwóchutworzonychwcześniejelementów.
Rysunek7.Wynikdziałaniafunkcjifnd