How to Generate Random Boolean in JavaScript

  1. Use Math.random() to Generate Random Boolean in JavaScript
  2. Use Array to Generate Random Boolean in JavaScript
  3. Use the _.sample(collection) Method to Generate Random Boolean in JavaScript
How to Generate Random Boolean in JavaScript

This article introduces how to generate random Boolean in JavaScript using Math.random(), Arrays, and _.sample(collection) function of lodash. The Math.random() function returns the numbers between 0 and 1 where 0 is inclusive while 1 is exclusive.

The _.sample(collection) method accepts a collection and returns one value randomly from the provided collection.

To use the _.sample(collection) method of lodash, add the following line of code in the <head> element.

<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script>

Use Math.random() to Generate Random Boolean in JavaScript

The Math.random() returns any number in the range of [0,1) where 0 is inclusive, but 1 is exclusive.

We can split this range into two partitions. First partition ranges from [0,0.5) and second from [0.5,1).

Why are we doing this? Because we are giving an equal chance of occurrence to true and false. If it is less than 0.5, then true; otherwise, the Boolean value would be false.

Example:

var random_boolean_value = Math.random() < 0.5;
console.log(random_boolean_value)

Output:

false

Let’s write a more detailed code to see that it returns true if less than 0.5.

See the following snippet.

for (var i = 0; i < 10; i++) {
  var rand_number = Math.random();
  console.log(rand_number);
  var random_boolean_value = rand_number < 0.5;
  console.log(random_boolean_value);
}

Output:

0.06464303463834886
true
0.27911502950509837
true
0.9811371177556913
false
0.539086724802587
false
0.3440647317306955
true
0.8779878853066467
false
0.2889025142115962
true
0.6346333079296975
false
0.28944321051370525
true
0.35970422088985354
true

Use Array to Generate Random Boolean in JavaScript

Let’s learn a more optimized version to generate random Boolean in JavaScript.

Check the following instance where we use Math.random() to produce a random value, multiplied by Array.prototype.length. Then, use the Math.floor() method to round off the nearest whole number.

Example:

const sample = arr => arr[Math.floor(Math.random() * arr.length)];
console.log(sample([true, false]));

Output:

true

Use the _.sample(collection) Method to Generate Random Boolean in JavaScript

Example:

<html>
	<head>
		<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script>
	</head>
	<body>
		<script>
    		console.log(_.sample([true, false]));
		</script>
	</body>
</html>

Output:

false
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Related Article - JavaScript Random

Related Article - JavaScript Boolean