Funksionet Callback në JavaScript
Funksionet mund të kalohen si parametra në funksione të tjera. Funksione të tilla si parametra quhen callback-e (callback). Le të shohim punën me to me një shembull.
Supozoni se duam të bëjmë një funksion që i pari parametër do të marrë një array, dhe i dyti - një callback, që do të zbatohet për çdo element të array-it:
function each(arr, callback) {
// këtu ndonjë kod
}
Le të shkruajmë implementimin e funksionit tonë:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // therrasim funksionin-callback
}
return result;
}
Funksioni ynë each është universal.
Kjo do të thotë se ne mund t'i kalojmë atij
callback-e të ndryshëm, duke kryer operacione të ndryshme
mbi array-et. Në këtë rast kodi i funksionit tonë do të mbetet
i pandryshuar - do të ndryshojnë vetëm
callback-et e kaluar.
Le të përdorim funksionin tonë si shembull për të ngritur në katror çdo element të një array-i. Për këtë do të kalojmë si parametër callback-in përkatës:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
Tani le t'i ngremë elementët e array-it në kub. Për këtë si parametër do të kalojmë një callback tjetër, që kryen këtë operacion:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Është dhënë një array me numra. Me ndihmën e funksionit
të krijuar nga ne each rrisni çdo
element dy herë.
Është dhënë një array me stringje. Me ndihmën e funksionit
të krijuar nga ne each ktheni karakteret
e çdo stringu në rend të kundërt.
Është dhënë një array me stringje. Me ndihmën e funksionit
të krijuar nga ne each bëni të madh
shkronjën e parë të çdo stringu.