Callback funkce v JavaScriptu

Funkce lze předávat jako parametry do jiných funkcí. Takové funkce-parametry se nazývají kolbeky (callback). Podívejme se na jejich práci na příkladu.

Předpokládejme, že chceme vytvořit funkci, která prvním parametrem přijme pole a druhým - kolbek, který bude aplikován na každý prvek pole:

javascriptfunction each(arr, callback) {
  // zde nějaký kód
}

Napišme implementaci naší funkce:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // voláme funkci-kolbek
  }
  
  return result;
}

Naše funkce each je univerzální. To znamená, že do ní můžeme předávat různé kolbeky a provádět různé operace nad poli. Přitom kód naší funkce zůstane nezměněn - budou se měnit pouze předávané kolbeky.

Pro příklad pomocí naší funkce umocněme na druhou každý prvek nějakého pole. Pro tento účel předáme jako parametr odpovídající kolbek:

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

console.log(result);

A nyní umocněme prvky pole na třetí. Pro tento účel jako parametr předáme již jiný kolbek, provedoucí tuto operaci:

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

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

Je dáno pole s čísly. Pomocí naší vytvořené funkce each zvětšete každý prvek dvakrát.

Задание 2

Je dáno pole s řetězci. Pomocí naší vytvořené funkce each otočte znaky každého řetězce v opačném pořadí.

Задание 3

Je dáno pole s řetězci. Pomocí naší vytvořené funkce each udělejte velkým první znak každého řetězce.