2012-03-16 9 views

答えて

69

Math.random[MDN]ファンクションは、[0, 1)の間隔でランダム値を選択します。これを利用して、値をランダムに選択することができます。

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

これはちょっとしたことですが、それは '<' or '> ='でなければなりません。さもなければ、 'value1'はやや高い可能性があります。これは、 'random'が' 1.0'を含むまで数字を返すためです。 – Jacob

+0

@Jacob私はどの比較演算子を使用するのか把握しようとしていました。ありがとう。今修正されました。 –

26

は、それぞれの値がちょうど約半分です。

2
...あなたは真または偽、 '頭' や '尾' のようにそれを使用することができ、または

['true','false'][Math.round(Math.random())] index- 2メンバーアレイは 'true' または 'false' を返しますよう

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

通常、回答のためにコードを説明するコンテキスト情報を追加するとよい –

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

これは、0または1のいずれかを返します。「~~」は、2つのビット単位のNOT演算子です。基本的には、小数部分を削除します。時には便利です。

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

それが全体としてどのように速くわかりません。好奇心のためだけに投稿しました:)

関連する問題