2010-07-12 140 views
1
var names=new Array("Charlie","Auggie","Hunter","Diesel","Harlum","Tank","Runt"); 
    var rnames=Math.floor(Math.random(1,names.length)); 

這是我的代碼,rnames總是0.我如何判斷表的長度? (長度爲7--換句話說,我想告訴表中有多少個條目)。宣佈陣列的長度

回答

5

在Javascript中,Math.random()不採用任何參數。
傳遞給它的任何參數會被忽略,並且它總是返回一個實數

0和1之間相反,應該由所述陣列的長度相乘的數量,這樣的:

var names = ["Charlie","Auggie","Hunter","Diesel","Harlum","Tank","Runt"]; 
var randomIndex = Math.floor(Math.random() * names.length); 
+2

此外,的Math.random()的返回值將始終爲0和1之間 – 2010-07-12 18:32:16

+0

哦,謝謝,rchern&SLaks。 – 2010-07-12 18:36:35

+0

而且,rchern,他在他的回答的第2行中表示。 – 2010-07-12 18:37:13

1
var names=new Array("Charlie","Auggie","Hunter","Diesel","Harlum","Tank","Runt"); 
var rnames=Math.floor(Math.random()*names.length) 
1

我不認爲Math.random()帶有任何參數。如果你希望兩個integres(分鐘&最大)之間的整數試試這個

Math.floor(Math.random() * (max - min + 1)) + min; 

問候, 薩蒂亞吉特