2012-07-27 27 views
1

我想用n隨機數生成一個數組(即n調用Math.random())。 我不在乎它們是否獨一無二Javascript - 生成多個無循環的隨機數

目前我使用一個循環:

let numbers = []; 
for (let i = 0; i < n; ++i) { 
    numbers.push(Math.random()); 
} 

我只是想知道這是否可以被矢量化 - 例如,在其他語言中,我期望像Math.random(n)產生的n數組隨機數字。或者是一個循環的方式去Javascript?

歡呼聲。

+0

AFAIK這是一個在javascript數組中生成和存儲n個隨機數的最佳方法 – antoniom 2012-07-27 07:30:07

+0

嗯,好的。從Matlab/R.python的角度來看,並將JS看作是一種類似的高級語言,我只是認爲它可能是矢量化的。 – 2012-07-27 07:38:27

回答

2

這樣或那樣你仍然會得到一個循環下面的循環 - 即使有任何JavaScript的「矢量化」庫,它會歸結爲循環。

+0

好的,歡呼聲。我來自Matlab/R/python背景,所以當我看到一個循環時,我的第一本能仍然是「向量化!」 - 即使歸結爲一個循環,由於實現,內置矢量化方法通常比顯式循環快得多。只是想知道Javascript是否也有這種心態。 – 2012-07-27 07:39:42

0

在某些情況下,'懶惰'可能會有所幫助。 如果你不確定你需要所有n個生成的數字。你最好用yield執行一個懶惰的實現...