JavaScript-də Callback Funksiyaları

Funksiyalar digər funksiyalara parametr kimi ötürülə bilər. Belə parametr-funksiyalar callback adlanır (callback). Gəlin onlarla işi bir nümunə ilə görək.

Tutaq ki, biz elə bir funksiya etmək istəyirik ki, ilk parametri massiv, ikinci parametri isə callback olsun və o, hər bir massiv elementinə tətbiq olunsun:

javascriptfunction each(arr, callback) {
  // burada hansısa kod
}

Gəlin funksiyamızın realizasiyasını yazaq:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // callback funksiyasını çağırırıq
  }
  
  return result;
}

Bizim each funksiyamız universaldır. Bu o deməkdir ki, biz ona müxtəlif callback-lər ötürərək, massivlər üzərində müxtəlif əməliyyatlar yerinə yetirə bilərik. Bununla belə funksiyamızın kodu dəyişməz qalacaq - yalnız ötürülən callback-lər dəyişəcək.

Gəlin nümunə üçün funksiyamızın köməyi ilə hansısa massivin hər bir elementinin kvadratını alaq. Bunun üçün uyğun callback-i parametr kimi ötürək:

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

console.log(result);

İndi isə massivin elementlərini kuba yüksəldək. Bunun üçün parametr kimi bu əməliyyatı yerinə yetirən artıq başqa bir callback ötürəcəyik:

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

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

Ədədlərdən ibarət massiv verilib. Bizim yaratdığımız each funksiyasının köməyi ilə hər bir elementi iki dəfə artırın.

Задание 2

Sətirlərdən ibarət massiv verilib. Bizim yaratdığımız each funksiyasının köməyi ilə hər bir sətrin simvollarını tərs ardıcıllıqla çevirin.

Задание 3

Sətirlərdən ibarət massiv verilib. Bizim yaratdığımız each funksiyasının köməyi ilə hər bir sətrin ilk simvolunu böyük hərflə yazın.