Fonctions de rappel en JavaScript
Les fonctions peuvent être transmises comme paramètres à d'autres fonctions. Ces fonctions-paramètres sont appelées fonctions de rappel (callback). Regardons leur fonctionnement avec un exemple.
Supposons que nous voulions créer une fonction qui accepte en premier paramètre un tableau, et en second - une fonction de rappel, qui sera appliquée à chaque élément du tableau :
function each(arr, callback) {
// du code ici
}
Écrivons l'implémentation de notre fonction :
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // nous appelons la fonction de rappel
}
return result;
}
Notre fonction each est universelle.
Cela signifie que nous pouvons lui transmettre
diverses fonctions de rappel, effectuant différentes opérations
sur les tableaux. Par ailleurs, le code de notre fonction restera
inchangé - seules les
fonctions de rappel transmises changeront.
Prenons par exemple, à l'aide de notre fonction, chaque élément d'un tableau quelconque élevé au carré. Pour cela, nous transmettrons comme paramètre la fonction de rappel correspondante :
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
Maintenant, élevons les éléments du tableau au cube. Pour cela, nous transmettrons comme paramètre une autre fonction de rappel, effectuant cette opération :
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Un tableau de nombres est donné. À l'aide de la fonction
each que nous avons créée, multipliez chaque
élément par deux.
Un tableau de chaînes de caractères est donné. À l'aide de la fonction
each que nous avons créée, inversez l'ordre des caractères
de chaque chaîne.
Un tableau de chaînes de caractères est donné. À l'aide de la fonction
each que nous avons créée, mettez en majuscule
le premier caractère de chaque chaîne.