Callback-funktioner i JavaScript

Funktioner kan skickas som parametrar till andra funktioner. Sådana funktionsparametrar kallas callback-funktioner (callback). Låt oss titta på hur de fungerar med ett exempel.

Låt oss säga att vi vill skapa en funktion som i första hand tar en array som parameter, och i andra hand - en callback-funktion, som kommer att appliceras på varje element i arrayen:

javascriptfunction each(arr, callback) {
  // här finns någon kod
}

Låt oss skriva implementationen av vår funktion:

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

Vår funktion each är universell. Det betyder att vi kan skicka olika callback-funktioner till den, och utföra olika operationer på arrayer. Samtidigt förblir koden i vår funktion oförändrad - bara de skickade callback-funktionerna kommer att ändras.

Låt oss som ett exempel använda vår funktion för att kvadrera varje element i en array. För att göra detta skickar vi en motsvarande callback-funktion som parameter:

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

console.log(result);

Och låt oss nu upphöja elementen i arrayen i kubik. För att göra detta skickar vi som parameter en annan callback-funktion, som utför denna operation:

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

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

Given en array med siffror. Med hjälp av funktionen each som vi skapade, fördubbla varje element.

Задание 2

Given en array med strängar. Med hjälp av funktionen each som vi skapade, vänd på tecknen i varje sträng i omvänd ordning.

Задание 3

Given en array med strängar. Med hjälp av funktionen each som vi skapade, gör första bokstaven i varje sträng versal.