2010-08-24 5 views
0

J'ai besoin de créer un tableau 2D pour certains travaux POC.Créer un tableau javascript 2D de valeurs incrémentielles de 1 à 1000 et une deuxième valeur un nombre aléatoire de 1 à 50

La première valeur du tableau doit aller en incréments entre les valeurs 1 à 1000 et la deuxième valeur doit être un nombre aléatoire de valeurs 1 à 50.

+1

Essayez-le et nous vous aiderons lorsque vous serez coincé. –

+0

Je l'ai fait ici: var a = []; pour (var i = 0; i <1 000; i ++) { var randNum = Math.floor (Math.random() * 51); var a = [i, randNum]; } Alors presque raison. – RyanP13

Répondre

3
var array = []; 
for (var i = 1; i <= 1000; i++) 
{ 
    array.push([i, 1 + Math.floor(Math.random() * 50)]); 
} 

Pour expliquer comment nous finir avec un nombre aléatoire compris entre 1 et 50:

Math.random() génère un nombre à virgule flottante aléatoire r où 0 ≤ r < 1. Ainsi, en multipliant ce par 50 résultera en un certain nombre s où 0 ≤ s < 50. Ensuite, nous utilisons Math.floor(), qui arrondit une décimale à l'entier le plus proche (de sorte que le résultat sera un entier compris entre 0 et 49 inclus). Ajout de 1 à qui donnera le résultat souhaité - un nombre entier aléatoire compris entre 1 et 50.

+0

Cela génère une erreur de syntaxe? – RyanP13

+1

@Ryan désolé, je l'ai réparé. C'est ce qui arrive quand je code dans une zone de texte tout en travaillant dans plusieurs langues à la fois;) –

1
var array = []; 
for (var i = 1; i <= 1000; i++) 
{ 
    array.push([i, Math.ceil(Math.random() * 50)]); 
} 

Personnellement je préfère utiliser Math.ceil et ont, tout autour, plutôt que vers le bas autour d'elle puis en ajouter un.