JavaScript-da Callback Funksiyalar

Funksiyalarni boshqa funksiyalarga parametr sifatida uzatish mumkin. Bunday parametr sifatidagi funksiyalar callback (callback) deb ataladi. Keling, ular bilan ishlashni misolda ko'rib chiqaylik.

Faraz qilaylik, biz birinchi parametri massiv, ikkinchi parametri esa massivning har bir elementi uchun qo'llaniladigan callback bo'lgan funksiya yaratmoqchimiz:

javascriptfunction each(arr, callback) {
  // bu yerda ma'lum bir kod
}

Keling, funksiyamizning realizatsiyasini yozamiz:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // callback funksiyasini chaqiramiz
  }
  
  return result;
}

Bizning each funksiyamiz universal. Bu shuni anglatadiki, biz unga turli xil callback'larni uzatib, massivlar ustida turli amallarni bajarishimiz mumkin. Bunda funksiyamizning kodi o'zgarishsiz qoladi - faqat uzatilayotgan callback'lar o'zgaradi.

Keling, misol uchun, funksiyamiz yordamida berilgan massivning har bir elementini kvadratga oshiraylik. Buning uchun mos keladigan callback'ni parametr sifatida uzatamiz:

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

console.log(result);

Endi massiv elementlarini kubga oshiramiz. Buning uchun parametr sifatida ushbu amalni bajaradigan boshqa callback uzatamiz:

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

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

Sonlardan iborat massiv berilgan. Biz yaratgan each funksiyasi yordamida har bir elementni ikki baravar oshiring.

Задание 2

Satrlardan iborat massiv berilgan. Biz yaratgan each funksiyasi yordamida har bir satr belgilarini teskari tartibda yozing.

Задание 3

Satrlardan iborat massiv berilgan. Biz yaratgan each funksiyasi yordamida har bir satrning birinchi belgisini bosh harf qiling.