Dans la deuxième partie de ce cours, vous avez découvert des notions de base en développement. Poursuivons avec les fonctions.
Comprenez les fonctions
Une fonction est un bloc de code auquel vous attribuez un nom. Quand vous appelez cette fonction, vous exécutez le code qu'elle contient. Par exemple, dans les vidéos d'enregistrement d'écrans, vous m'avez vu appeler la fonctionconsole.log()
, qui contient du code permettant d'imprimer sur la console mais vous pouvez créer n’importe quelle fonction vous même :
// On définit la fonction
function afficherDeuxValeurs(valeur1, valeur2) {
console.log('Première valeur:' + valeur1);
console.log('Deuxième valeur:' + valeur2);
}
// On exécute la fonction
afficherDeuxValeurs(12, 'Bonjour');
// On obtient dans la console
// > Première valeur:12
// > Deuxième valeur:Bonjour
Beaucoup de fonctions ont besoin de variables pour effectuer leur travail. Quand vous créez ou déclarez une fonction, vous indiquez la liste des variables dont elle a besoin pour effectuer son travail : vous définissez les paramètres de la fonction.
Ensuite, à l'appel de la fonction, vous lui attribuez des valeurs pour ses paramètres. Les valeurs sont les arguments d'appel.
Enfin, votre fonction peut vous donner un résultat : une valeur de retour. Supposons que vous ayez une fonction qui compte le nombre de mots dans une chaîne :
le paramètre sera une chaîne dont vous allez compter les mots ;
l'argument sera toute chaîne attribuée à votre fonction quand vous l'appelez ;
la valeur de retour sera le nombre de mots.
Commençons par une fonction très simple qui ajoute des nombres.
Pratiquez la note moyenne
Rendez-vous sur cet éditeur CodePen.
Avant de commencer l’exercice, nous allons juste revoir deux notions : le calcul d’une moyenne et comment parcourir un tableau.
Calculer une moyenne
Lorsque l’on a un ensemble de valeurs, le calcul de la moyenne se fait en 3 étapes :
on fait la somme de toutes les valeurs (qu’on nommera
sommeValeurs
) ;on compte le nombre de valeurs que l’on a (qu’on nommera
nombreValeurs
) ;on calcule la moyenne en faisant
moyenne = sommeValeurs / nombreValeurs
.
Parcourir un tableau
Lorsque l’on a un tableau (par exemple monTableau
) on utilise la boucle for of.
Par exemple :
for (let elementDeTableau of monTableau) {
console.log(elementDeTableau); //Affiche chaque élément individuellement
}
Vous pouvez manipuler elementDeTableau
comme bon vous semble (par exemple, l’ajouter dans un autre tableau, l'additionner avec une variable globale, etc.).
Votre application de streaming permet aux utilisateurs de noter les séries sur 5 étoiles. Votre collègue a construit le composant pour afficher la note moyenne pour chaque série, mais elle a besoin que vous écriviez la fonction qui va calculer cette moyenne.
Elle vous explique que la fonction doit prendre un tableau de nombres comme argument, et retourner un nombre qui correspond à la note moyenne calculée.
Suivez les étapes suivantes :
Au bon endroit dans la déclaration de fonction, choisissez un nom pour le paramètre de votre fonction. N'oubliez pas, ce sera un tableau de nombres.
Pour calculer une moyenne, on ajoute toutes les valeurs ensemble, puis on divise par le nombre de valeurs.Créez une variable qui stockera la somme de tous les nombres du tableau. Initialisez-la avec la valeur zéro.
Sachant que le paramètre reçu est un tableau de nombres, utilisez une boucle for pour ajouter chaque nombre du tableau à votre variable
somme
.Créez une constante qui contient le résultat de la somme finale divisée par le nombre de valeurs dans le tableau reçu en argument.
Faites en sorte que la fonction retourne le résultat final.
BONUS : La troisième série, Les Insectes de L'Isla Clara, n'a pas l'air de fonctionner correctement. En fait, elle n'a pas encore reçu de note, donc le tableau passé ne contient aucune valeur.
Solution
Vous avez terminé ? Voici un nouveau CodePen avec une solution à l’exercice.
Voici quelques explications supplémentaires :
La fonction commence par le code suivant :
if(ratings.length === 0){
return 0;
}
Explication : on souhaite faire la moyenne des valeurs présentes dans le tableau ratings
. Mais dans le cas où le tableau est vide, on souhaite retourner la valeur 0. La propriété length
de ratings
permet donc de connaître la longueur du tableau et de faire alors une condition en conséquence.
Ensuite nous avons le code suivant :
let sum = 0;
for (let rating of ratings) {
sum += rating;
}
Explication : Ce code a pour objectif de faire la somme de tous les éléments du tableau. Pour cela, on crée une variable sum
avec comme valeur initiale 0. Ensuite on parcourt le tableau ratings
et pour chaque élément on additionne la valeur avec la valeur de sum
et le résultat est stocké dans sum
. Une fois l’ensemble de ce code exécuté, sum
contient donc la somme de toutes les valeurs du tableau.
Pour finir, nous avons le code suivant :
return sum / ratings.length;
Explication : Nous disposons maintenant de la variable sum
qui contient la somme de tous les éléments du tableau, et de l’expression ratings.length
qui donne le nombre d'éléments du tableau. Avec ces éléments, nous retournons le calcul de la moyenne.
En résumé
Dans ce chapitre, vous avez appris :
ce qu'est une fonction, comment en déclarer une et comment en appeler une ;
ce que sont les paramètres, les arguments et les valeurs de retour ;
à écrire une fonction qui parcourt un tableau de nombres pour calculer leur moyenne ;
Dans le chapitre suivant, nous allons nous intéresser à un type de fonction associé à une classe : les méthodes.