JavaScript'теги функция-коллбэктер

Функцияларды башка функцияларга параметр катары өткөзсө болот. Андай функция-параметрлер коллбэктер (callback) деп аталат. Келгиле, алардын иштөөсүн мисал аркылу карап көрөлү.

Алдыда биз биринчи параметри катары массивди, экинчи параметри катары коллбэкти кабыл алган функция жасайлы дейли. Бул коллбэк массивдин ар бир элементине колдонулушу керек:

javascriptfunction each(arr, callback) {
  // бул жерде бир аз код
}

Биздин функциябыздын ишке ашыруусун жазалы:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // функция-коллбэк чакырылып жатат
  }
  
  return result;
}

Биздин each функциябыз - универсалдуу. Бул биз ага ар кандай коллбэктерди өткөзүп, массивдер үстүндө ар кандай амалдарды аткара алабыз дегенди билдирет. Бул учурда биздин функциябыздын коду өзгөрүүсүз кала берет - өзгөрө турган жалгыз нерсе өткөзүлүп жаткан коллбэктер болот.

Мисал үчүн, биздин функциябызды колдонуп, бир массивдин ар бир элеменин квадратка көтөрөлү. Ал үчүн тиешелүү коллбэкти параметр катары өткөзөбүз:

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

console.log(result);

Эми массив элементтерин кубка көтөрөлү. Бул үчүн бул амалды аткарган башка бир коллбэкти параметр катары өткөзөбүз:

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

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

Сандардан турган массив берилген. Биз түзгөн each функциябызды колдонуп, ар бир элементти эки эсе көбөйтүңүз.

Задание 2

Саптардан турган массив берилген. Биз түзгөн each функциябызды колдонуп, ар бир саптын белгилерин тескери тартипте которуңуз.

Задание 3

Саптардан турган массив берилген. Биз түзгөн each функциябызды колдонуп, ар бир саптын биринчи белгисин баш тамга кылыңыз.