Bonjour,
je tente de résoudre une des fonctions du site "code war", mais j'obtiens un comportement que je ne comprend pas. ( le lien de l'exercice)
Quand je suis le déroulement du script dans la débogueur de chrome, la variable "reponse" a bien la valeur attendu au moment du return, mais juste après elle reprend son ancienne valeur et le return devient "undefined".
Je ne sais pas trop par quel bout prendre le problème pour une recherche sur Google, (un return "undefined", ça emmène une infinité de réponse en tout genre) du coup je me tourne vers vous, en espérant pouvoir trouver de l'aide, et ne pas poser une question déjà traiter mille fois, mais que je n'aurai pas su prendre par le bon bout pour trouver la solution tout seul.
merci par avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
function digital_root(n) {
  var reponse = 0;
  var str = n.toString()
 
  for(var i=0; i<str.length; i++){
    reponse += parseInt(str[i])
  }
  if(reponse<9){
  return reponse;
 }else
  {
    digital_root(reponse);
   }
}
 
console.log(digital_root(16) + " expect 7");
console.log(digital_root(132189) + " expect 6");
console.log(digital_root(493193) + " expect 2");