Callback funkcijas JavaScript

Funkcijas var padot kā parametrus citām funkcijām. Šādas funkcijas-parametri tiek sauktas par callback funkcijām (callback). Apskatīsim darbu ar tām piemērā.

Pieņemsim, ka mēs vēlamies izveidot funkciju, kas pirmo parametru pieņems masīvu, bet otro - callback funkciju, kas tiks piemērota katram masīva elementam:

javascriptfunction each(arr, callback) {
  // šeit kāds kods
}

Uzrakstīsim mūsu funkcijas realizāciju:

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

Mūsu funkcija each - universāla. Tas nozīmē, ka mēs varam tai padot dažādas callback funkcijas, veicot dažādas operācijas ar masīviem. Šajā gadījumā mūsu funkcijas kods paliks nemainīgs - mainīsies tikai padotās callback funkcijas.

Piemēram, izmantosim mūsu funkciju, lai katru elementu kādā masīvā paceļu kvadrātā. Lai to izdarītu, padodam kā parametru atbilstošo callback funkciju:

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

console.log(result);

Tagad paceļim masīva elementus kubā. Lai to izdarītu, kā parametru padodam citu callback funkciju, kas veic šo operāciju:

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

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

Dots skaitļu masīvs. Izmantojot mūsu izveidoto funkciju each, palieliniet katru elementu divas reizes.

Задание 2

Dots virkņu masīvs. Izmantojot mūsu izveidoto funkciju each, apgrieziet katras virknes rakstzīmes apgrieztā secībā.

Задание 3

Dots virkņu masīvs. Izmantojot mūsu izveidoto funkciju each, padariet lielo burtu katrai virknes pirmajai rakstzīmei.