Bultu funkciju pielietojums JavaScript
Īpaša priekšrocība bultu funkcijām ir
kā atsauces funkcijām. Apskatīsim
ar piemēru, cik vienkāršs kods kļūst šajā
gadījumā. Piemēram, pieņemsim, ka mums ir šāda
funkcija filter:
function filter(arr, callback) {
let res = [];
for (let elem of arr) {
if ( callback(elem) === true ) {
res.push(elem);
}
}
return res;
}
Izsauksim šo funkciju, nododot tai atsauces funkciju:
let result = filter([1, 2, 3, 4, 5], function(elem) {
if (elem % 2 === 0) {
return true;
} else {
return false;
}
});
Tagad vienkāršosim mūsu funkciju.
Vispirms atbrīvosimies no konstrukcijas
if un uzrakstīsim nosacījumu vienkārši caur
operatoru ===:
let result = filter([1, 2, 3, 4, 5], function(elem) {
return elem % 2 == 0;
});
Tagad aizstāsim parasto funkciju ar bultu funkciju:
let result = filter([1, 2, 3, 4, 5], elem => elem % 2 == 0);
Dota šāda funkcija ar atsauces funkciju:
let result = filter([1, 2, 3, 4, 5], function(elem) {
if (elem > 0) {
return true;
} else {
return false;
}
});
Vienkāršojiet atsauces funkciju, izmantojot bultu funkciju.