Callback funkcije u JavaScript-u
Funkcije se mogu prosleđivati kao parametri drugim funkcijama. Takve funkcije-parametri se nazivaju kolbekom (callback). Hajde da pogledamo kako rade na primeru.
Recimo da želimo da napravimo funkciju koja će prvi parametar primati niz, a drugi - callback, koji će primenjivati na svaki element niza:
function each(arr, callback) {
// ovde ide neki kod
}
Napišimo implementaciju naše funkcije:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // pozivamo callback funkciju
}
return result;
}
Naša funkcija each je univerzalna.
To znači da joj možemo prosleđivati
različite callback-ove, izvršavajući različite operacije
nad nizovima. Pri tome kod naše funkcije će ostati
nepromenjen - menjaju se samo
prosledjeni callback-ovi.
Hajde da za primer pomoću naše funkcije dignemo na kvadrat svaki element nekog niza. Za to ćemo proslediti kao parametar odgovarajući callback:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
A sada dignimo elemente niza na kub. Za to ćemo kao parametar proslediti već drugi callback, koji izvršava ovu operaciju:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Dat je niz sa brojevima. Pomoću kreirane
funkcije each povećajte svaki
element dva puta.
Dat je niz sa stringovima. Pomoću kreirane
funkcije each okrenite simbole
svakog stringa u obrnutom redosledu.
Dat je niz sa stringovima. Pomoću kreirane
funkcije each napravite da prvi
simbol svakog stringa bude veliko slovo.