Bonjour,
Alors je me permet de vous répondre directement à ce message concernant la correction de l'exercice sur les fonctions récursives.
Pas que je ne veuille pas partager ma compréhension (si elle est juste en tout cas) mais je pense qu'il vaut mieux comprendre par sois-même avec les explications données.
J'ai compris la correction mais je n'ai pas réussir à écrire le code correspondant.
Certainement un manque de pratique et je n'ai pas encore la logique par exemple d'utiliser le mot-clé return. Il faut que je fasse des exercices de ce type pour que cela rentre.
Voici ce que j'ai compris
function sum(num) {
if (num == 1) {
return 1;
}
return num + sum(num - 1);
}
console.log(sum(5));
/**
* La valeur 5 est en paramètre de la fonction.
* Est-ce que 5 est égal à 1 -> NON.
* return 5 + sum(4) -> car sum(5-4) donc 4 est le nouveau paramètre de la fonction; donc 5 + 4.
* Est-ce que 4 est égal à 1 -> NON.
* return 4 + sum(3) -> car sum(4-3) donc 3 est le nouveau paramètre de la fonction; donc 5 + 4 + 3.
* Est-ce que 3 est égal à 1 -> NON.
* return 3 + sum(2) -> car sum(3-2) donc 2 est le nouveau paramètre de la fonction; donc 5 + 4 + 3 + 2.
* Est-ce que 2 est égal à 1 -> NON.
* return 2 + sum(1) -> car sum(2-1) donc 1 est le nouveau paramètre de la fonction; donc 5 + 4 + 3 + 2 + 1.
* Est-ce que 1 est égal à 1 -> OUI donc arrêt de la fonction grâce au mot-clé return.
* Le console.log affiche 15.
*/