2016-06-11 42 views
0

我試圖在Javascript中將隨機數的兔子插入1〜10的畫布中。 但是,Math.random()方法似乎不起作用。它只是給我一個兔子。我究竟做錯了什麼?Javascript:生成隨機數函數並插入數組

var field = []; 

var randomNum = Math.floor(Math.random() * 10); 

field.push(randomNum * new Bunny()); 

function Bunny() { 
... 
} 

回答

3

它根本不會給你任何兔子。 randomNum * new Bunny()將是NaN ,因爲您試圖將對象與數字相乘。

如果你想多兔子,你必須創建它們,可能是在一個循環:

var field = []; 

var randomNum = Math.floor(Math.random() * 10); 
for (var n = 0; n < randomNum; ++n) {   // Loop 
    field.push(new Bunny());     // creating and pushing 
}            // multiple bunnies 

function Bunny() { 
// ... 
} 

或數字,如果你已經覆蓋valueOfBunny.prototype,這似乎不太可能。

+0

非常感謝!這工作。 –

+0

我想你應該使用'1 + Math.floor(Math.random()* 10)' –

+1

@mortezaT:的確,如果目標是有1到10個兔子(包括),是的,我們希望'+ 1'。如果目標是有0到9個兔子(包括),那麼我們不會。 –

0
var field = []; 

var randomNum = Math.floor(Math.random() * 10); 

for (k=0; k<randomNum; k++) 

{ 

field.push(new Bunny()); 

}