Callback-funktioner i JavaScript
Funktioner kan overføres som parametre til andre funktioner. Sådanne funktionsparametre kaldes callbacks (callback). Lad os se arbejdet med dem med et eksempel.
Lad os sige, at vi vil lave en funktion, som det første parameter vil tage et array, og det andet - en callback, som vil blive anvendt på hvert element i arrayet:
function each(arr, callback) {
// noget kode her
}
Lad os skrive implementeringen af vores funktion:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // kalder callback-funktionen
}
return result;
}
Vores funktion each er universel.
Det betyder, at vi kan overføre til den
forskellige callbacks og udføre forskellige operationer
på arrays. Samtidig forbliver koden i vores funktion
uændret - kun de overførte callbacks
vil ændre sig.
Lad os for eksempel ved hjælp af vores funktion kvadrere hvert element i et array. For at gøre dette overfører vi den tilsvarende callback som parameter:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
Og lad os nu opløfte elementerne i arrayet i tredje potens. For at gøre dette overfører vi som parameter allerede en anden callback, der udfører denne operation:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Givet et array med tal. Ved hjælp af den funktion, vi har oprettet
each, skal du fordoble hvert
element.
Givet et array med strenge. Ved hjælp af den funktion, vi har oprettet
each, skal du vende tegnene
i hver streng baglæns.
Givet et array med strenge. Ved hjælp af den funktion, vi har oprettet
each, skal du gøre det første tegn
i hver streng stort.