2012-03-16 23 views

回答

69

Math.random[MDN]函數在區間[0, 1)中選擇一個隨機值。你可以利用這個來隨機選擇一個值。

var chosenValue = Math.random() < 0.5 ? value1 : value2; 
+12

這有點迂腐,但它應該是'<' or '> ='。否則,'value1'會稍微有點可能。這是因爲'random'返回一個數字直到不包括'1.0'。 – Jacob 2012-03-16 02:21:17

+0

@Jacob我試圖找出使用哪個比較運算符;謝謝。現在已經修復了。 – 2012-03-16 02:22:32

26

Math.round(Math.random())返回一個0或1,每個值只有大約一半的時間。

您可以使用它像一個真的還是假的,「頭」或「尾巴」,或作爲2成員數組指數 -

['true','false'][Math.round(Math.random())]將返回「真」或「假」 ......

2
parseInt(Math.random() * 2) ? true : false; 
+3

通常很好,添加一些上下文信息來解釋您的代碼以獲得答案 – 2016-02-03 00:29:34

4
~~(Math.random()*2) ? true : false 

這將返回0或1.「~~」是一個雙位NOT運算符。基本上去掉小數部分。有時候有用。

It is supposed to be faster then Math.floor()

不知道它是如何快速成爲一個整體。我提交它只是爲了好奇:)

相關問題