01-03-2020, 09:38:49
On va pouvoir le passer en 0.11 car j'ai identifié ton bug.
Je vais te donner ma méthodologie.
D'avance, je savais que ton soucis provenait du côté aléatoire (donc du Math.random) vu que le soucis était difficilement reproductible.
1. J'ai donc découvert ta fonction "alea".
Celle-ci renvoi une valeur >= min et <= max
Le soucis ne pouvait se produire que dans le cas ou la valeur est égale à min ou max.
du coup, j'ai forcé la fonction a renvoyé max et là, stupeur : mon navigateur se freeze.
cqfd : une boucle infini que j'ai supprimé le temps de mes tests.
Et voilà : je reproduisait l'erreur :
Message dans la console => "Uncaught TypeError: Cannot read property 'split' of undefined".
En français : on accède à l'index d'un tableau qui n'existe pas, on retourne "undefined" et on essai de splitter un objet qui n'est pas une chaîne de caractère.
Le correctif :
listeIndices = tireIndices(paramExercice.nbPhrases,AVOIR[paramExercice.tempsConjug].length - 1);
et :
listeIndices = tireIndices(paramExercice.nbPhrases,ETRE[paramExercice.tempsConjug].length - 1);
Je vais te donner ma méthodologie.
D'avance, je savais que ton soucis provenait du côté aléatoire (donc du Math.random) vu que le soucis était difficilement reproductible.
1. J'ai donc découvert ta fonction "alea".
Celle-ci renvoi une valeur >= min et <= max
Le soucis ne pouvait se produire que dans le cas ou la valeur est égale à min ou max.
du coup, j'ai forcé la fonction a renvoyé max et là, stupeur : mon navigateur se freeze.
cqfd : une boucle infini que j'ai supprimé le temps de mes tests.
Et voilà : je reproduisait l'erreur :
Message dans la console => "Uncaught TypeError: Cannot read property 'split' of undefined".
En français : on accède à l'index d'un tableau qui n'existe pas, on retourne "undefined" et on essai de splitter un objet qui n'est pas une chaîne de caractère.
Le correctif :
listeIndices = tireIndices(paramExercice.nbPhrases,AVOIR[paramExercice.tempsConjug].length - 1);
et :
listeIndices = tireIndices(paramExercice.nbPhrases,ETRE[paramExercice.tempsConjug].length - 1);

