+ 3
Comment faire pour que plusieur variable definie aléatoirement ne soit pas egal entre elle?
Bonjour J'aimerais savoir si il a une solutions pour que plusieurs variable définie aléatoirement ne soit pas égal entre elle. Mon idée de depart : function hasard(min,max){ return min+Math.floor(Math.random()*(max-min+1)); } var nb = [ ] ; for ( var i= 0; i<3 ; i++){ nb[i] = hasard(1,3); } Si vous avez une solution pour que la variable nb[i] (i=1 ) ne soit pas égal à nb[i] (i=2 ) et aussi différent de nb[i] (i=3 ) pour qu'il ai chacun une valeur différente difinie aléatoirement. Merci.
10 Réponses
+ 7
var tableau = [];
var nombre = 6;
tableau.push(nombre);
var nombre2 = 7;
if(tableau.indexOf(nombre2) == -1)
{
// nombre pas trouvé
}
else
{
// nombre trouvé
}
+ 5
Une façon simple serait de stocker tous les nombres générés dans un tableau, et vérifier si le tableau contient ce nombre avant de l'utiliser. Si ce nombre existe déjas, alors simplement en générer un autre.
+ 5
C'est pas très compliqué...tu utilises push() pour ajouter des éléments et find() pour vérifier si le nombre est dedans. edit indexOf() serait plus approprié que find().
+ 5
Pas de problèmes.
0
Si ma question a besoin de plus de détail merci de me le signaler.
Merci beaucoup.
0
Oui j'ai avais songé mais le problème c'est que je n'ai pas encore a pris a faire de tableau mais Merci pour ta réponse.
0
Tu pourrais m'envoyer un code exemple pour m'aider car dis comme ça je ne visualise pas trop.
0
OK je vois. Merci beaucoup d'avoir pris de temps de repondre.
0
😉
0
salut,
tu n'as pas appris à faire des tableaux ?
Var nb=[] est la définition d'un tableau vide.
pour t'assurer que chaque élément est unique, tu fais une boucle do ... while sur l'appel de la fonction hasard avec comme condition le test de présence dans le tableau nb[].
si le retour est présent, tu restes dans la boucle
si le retour est unique, tu sors de la boucle pour passer à l'indice suivant.