MidnightCoder
MidnightCoder

Reputation: 719

How to decide between two numbers randomly using javascript?

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

Answers (4)

Tom
Tom

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

Oscar Arturo
Oscar Arturo

Reputation: 21

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

Upvotes: 2

kennebec
kennebec

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

Peter Olson
Peter Olson

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

Related Questions