Callback függvények a JavaScriptben

A függvényeket paraméterként lehet átadni más függvényeknek. Az ilyen függvény paramétereket callback-nek (callback) nevezzük. Nézzük meg a munkájukat egy példán keresztül.

Tegyük fel, hogy szeretnénk készíteni egy függvényt, amely az első paraméterként egy tömböt fogad, a második pedig egy callback-et, amelyet a tömb minden elemére alkalmazni fog:

javascriptfunction each(arr, callback) {
  // itt valamilyen kód
}

Írjuk meg a függvényünk megvalósítását:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // meghívjuk a callback függvényt
  }
  
  return result;
}

A each függvényünk univerzális. Ez azt jelenti, hogy különböző callback-eket adhatunk át neki, és különböző műveleteket hajthatunk végre a tömbökön. Eközben a függvényünk kódja változatlan marad - csak az átadott callback-ek fognak változni.

Példaként a függvényünk segítségével emeljük négyzetre egy tömb minden elemét. Ehhez adjuk át paraméterként a megfelelő callback-et:

javascriptlet result = each([1, 2, 3, 4, 5], function(num) {
  return num ** 2;
});

console.log(result);

Most pedig emeljük a tömb elemeit kobbra. Ehhez paraméterként egy másik callback-et adunk át, amely ezt a műveletet végzi:

javascriptlet result = each([1, 2, 3, 4, 5], function(num) {
  return num ** 3;
});

console.log(result);
Задание 1

Adott egy számokból álló tömb. Az általunk létrehozott each függvény segítségével növelje meg minden elemet kétszeresére.

Задание 2

Adott egy sztringekből álló tömb. Az általunk létrehozott each függvény segítségével fordítsa meg minden sztring karaktereit fordított sorrendben.

Задание 3

Adott egy sztringekből álló tömb. Az általunk létrehozott each függvény segítségével tegye nagybetűssé minden sztring első karakterét.