Callback-funksjoner i JavaScript

Funksjoner kan overføres som parametere til andre funksjoner. Slike funksjonsparametere kalles callbacks (callback). La oss se hvordan de fungerer med et eksempel.

La oss si at vi ønsker å lage en funksjon som tar en array som første parameter, og en callback som andre parameter, som vil bli brukt på hvert element i arrayen:

javascriptfunction each(arr, callback) {
  // noe kode her
}

La oss skrive implementasjonen av funksjonen vår:

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

Funksjonen vår each er universell. Dette betyr at vi kan sende inn forskjellige callbacks og utføre forskjellige operasjoner på arrayer. Samtidig vil koden i funksjonen vår forbli uendret - det er bare de overførte callback-funksjonene som endres.

La oss for eksempel bruke funksjonen vår til å kvadrere hvert element i en array. For å gjøre dette sender vi inn en passende callback som parameter:

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

console.log(result);

La oss nå opphøye elementene i arrayen i tredje potens. For å gjøre dette sender vi inn en annen callback som parameter, som utfører denne operasjonen:

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

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

Det er gitt en array med tall. Bruk funksjonen vi har laget each til å doble hvert element.

Задание 2

Det er gitt en array med strenger. Bruk funksjonen vi har laget each til å reversere tegnene i hver streng i omvendt rekkefølge.

Задание 3

Det er gitt en array med strenger. Bruk funksjonen vi har laget each til å gjøre den første bokstaven i hver streng til stor bokstav.