Callback-Funktionen in JavaScript

Funktionen können als Parameter an andere Funktionen übergeben werden. Solche Funktionsparameter werden Callbacks (callback) genannt. Lassen Sie uns deren Funktionsweise an einem Beispiel betrachten.

Angenommen, wir möchten eine Funktion erstellen, die als ersten Parameter ein Array und als zweiten - einen Callback entgegennimmt, der auf jedes Element des Arrays angewendet wird:

javascriptfunction each(arr, callback) {
  // hier steht irgendein Code
}

Schreiben wir die Implementierung unserer Funktion:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // rufen die Callback-Funktion auf
  }
  
  return result;
}

Unsere Funktion each ist universell. Das bedeutet, dass wir verschiedene Callbacks an sie übergeben können, um unterschiedliche Operationen an Arrays auszuführen. Dabei bleibt der Code unserer Funktion unverändert - es ändern sich nur die übergebenen Callbacks.

Lassen Sie uns zur Veranschaulichung mithilfe unserer Funktion jedes Element eines beliebigen Arrays quadrieren. Dazu übergeben wir den entsprechenden Callback als Parameter:

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

console.log(result);

Lassen Sie uns nun die Elemente des Arrays in die dritte Potenz erheben. Dazu übergeben wir als Parameter einen anderen Callback, der diese Operation ausführt:

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

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

Gegeben ist ein Array mit Zahlen. Erhöhen Sie mithilfe der von uns erstellten Funktion each jedes Element um das Doppelte.

Задание 2

Gegeben ist ein Array mit Strings. Drehen Sie mithilfe der von uns erstellten Funktion each die Zeichen jedes Strings in umgekehrter Reihenfolge um.

Задание 3

Gegeben ist ein Array mit Strings. Machen Sie mithilfe der von uns erstellten Funktion each das erste Zeichen jedes Strings großbuchstabig.