8
votes

JS: math.random pour tableau

apprendre JS cette semaine.

est-il possible d'utiliser math.random pour renvoyer une valeur aléatoire dans un tableau? Cette valeur est-elle une chaîne et travaille toujours?


0 commentaires

5 Réponses :


23
votes

Vous pouvez prendre le numéro de point flottant (entre 0 et 1, non inclus) et le convertir en un index à la matrice (entier compris entre 0 et la longueur de la matrice - 1). Par exemple: xxx


2 commentaires

Merci! J'utilise des chaînes de déclaration plutôt plus longues dans chaque valeur de matrice. Existe-t-il un moyen de l'écrire syntaxiquement, ce n'est pas seulement une très grande ligne?


Peu importe comment construisez-vous le tableau. La partie importante est plancher (longueur_of_the_array * aléatoire_value_between_0_and_1) .



2
votes

Lire ceci:

var arr = [1, 2, 3, 4, 5, 6];
var r = arr[Math.floor(Math.random()*a.length)]; // r will store a value from a pseudo-random position at arr.


2 commentaires

Math.Round (Math.Random () * A.Length) peut renvoyer un nombre égal à A.Length, ce qui n'est pas un index valide au tableau.


Veuillez vérifier sa longueur et non une longueur



2
votes

Oui, c'est bien possible. Voici quelques exemples de code: xxx

Notez que Math.Floor doit être utilisé à la place de Math.Round, afin d'obtenir une distribution de numéro uniforme.


0 commentaires

1
votes

Merci pour toute votre aide.

var randomVariable = arr[Math.floor(2*Math.random())]


1 commentaires

Vous devez utiliser arr.l.length , pas 2 .



0
votes

Vous pouvez utiliser ceci:

var array = [];
for(i = 0; i < 6; i++) {
array[i] = Math.floor( Math.random() * 60 );
}


0 commentaires