Fonction Récursive et Return objet

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
Limon
Messages : 1
Enregistré le : 12 janv. 2021, 08:23

Fonction Récursive et Return objet

Message par Limon » 12 janv. 2021, 08:24

Bonjour

Je viens de débuter en javascript et je bute sur les fonctions. l'exercice et de créer une fonction récursive ( factoriel) et renvoyer le paramètre ainsi que le résultat de la fonction. Ainsi, La fonction Fact(5 ) doit renvoyer {5,120}

function factorial (n) {

if(n == 0) {
return 1
} else {


return{
val:n* factorial(n - 1),
Param:n
}

}
}

La fonction renvoie bien le param mais pour Val elle renvoie NaN

Merci d'avance

Avatar du membre
webmaster
Administrateur du site
Messages : 396
Enregistré le : 28 févr. 2017, 15:19

Re: Fonction Récursive et Return objet

Message par webmaster » 12 janv. 2021, 15:23

Bonjour,

Il y a pas mal d'erreurs dans ce code.
Voici une solution qui retourne bien {val: 120, param: 5}

Code : Tout sélectionner

<script>
function factorial (n) {
    if(n == 1) { /* il faut s'arreter à 1 */
        return {val: 1, param: 1} /* Il faut retourner le bon format */
    } else {
        return {val: n* factorial(n - 1).val, param: n } /* il faut pas oublier .val */
    }
}
console.log(factorial(5));
</script>
TJS : 20 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Répondre