How to decide between two numbers randomly using javascript?
Solution 1:
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;
Solution 2:
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'...
Solution 3:
~~(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 :)
Solution 4:
parseInt(Math.random() * 2) ? true : false;