2013-10-02 4 views
3

Je souhaite sélectionner un nombre aléatoire parmi un ensemble. Par exemple à partir de l'ensemble {8, 6, 1, 7}.Sélection d'un nombre aléatoire dans un ensemble

+0

'Math. floor (Math.Random * 8); ' –

+0

Que signifie« j'ai besoin de sélectionner au hasard en 8, 6, 1, 7 nombres »? Voulez-vous choisir un des quatre nombres au hasard? – JJJ

Répondre

3

Vous pouvez utiliser la fonction suivante pour obtenir un nombre aléatoire d'un ensemble:

function getRndmFromSet(set) 
{ 
    var rndm = Math.floor(Math.random() * set.length); 
    return set[rndm]; 
} 

dans votre cas, l'appel serait getRndmFromSet([8,6,1,7])

Essayez le jsFiddle

+0

Merci c'est une réponse très utile. – BZC

1
var range = [8, 6, 1, 7], 
    rNumber = Math.floor(Math.random()*range.length)%range.length, 
    number = range[rNumber]; 
+0

vous n'avez pas besoin de '% range.length' à la fin puisque vous multipliez' [0,1) 'par' range.length', ce qui donnerait '[0, range.length)', le sol de cette est [0, range.length-1], et en utilisant '% range.length' vous avez la même chose que sans. – Daniel

Questions connexes