Reputation: 719
I want a javascript script that choose either value1 or value2 randomly, not between the two values , just the actual values.
Thanks!!!!
Upvotes: 55
Views: 39707
Reputation: 556
~~(Math.random()*2) ? true : false
This returns either 0 or 1. "~~" is a double bitwise NOT operator. Basically strips the the decimal part. Useful sometimes.
It is supposed to be faster then Math.floor()
Not sure how fast it is as a whole. I submitted it just for curiosity :)
Upvotes: 5
Reputation: 104830
Math.round(Math.random())
returns a 0 or a 1, each value just about half the time.
You can use it like a true or false, 'heads' or 'tails', or as a 2 member array index-
['true','false'][Math.round(Math.random())]
will return 'true' or 'false'...
Upvotes: 35
Reputation: 143007
The Math.random
[MDN] function chooses a random value in the interval [0, 1)
. You can take advantage of this to choose a value randomly.
var chosenValue = Math.random() < 0.5 ? value1 : value2;
Upvotes: 109