JavaScript: Generating Random Numbers

Posted by

<!DOCTYPE html>

Generate Random Numbers in JavaScript

Generate Random Numbers in JavaScript

JavaScript provides a built-in function Math.random() that generates a random number between 0 (inclusive) and 1 (exclusive). However, sometimes we need to generate random numbers within a specific range or with specific characteristics. In this article, we will explore different ways to generate random numbers in JavaScript.

Generating a Random Number Between a Range

To generate a random number between a specific range, for example, between 1 and 10, we can use the following formula:


let min = 1;
let max = 10;
let randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
console.log(randomNum);

Generating Random Numbers with a Specific Distribution

If we want to generate random numbers with a specific distribution, we can create a custom function. For example, to generate random numbers following a normal distribution, we can use the Box-Muller transform:


function generateRandomNormal() {
  let u1 = Math.random();
  let u2 = Math.random();
  let z0 = Math.sqrt(-2 * Math.log(u1)) * Math.cos(2 * Math.PI * u2);
  return z0;
}
console.log(generateRandomNormal());

Generating Random Integers

If we need to generate random integers instead of floating-point numbers, we can use the Math.floor() function to round down the result:


let randomInt = Math.floor(Math.random() * 10); // Generates a random integer between 0 and 9
console.log(randomInt);

Conclusion

Generating random numbers in JavaScript is easy with the built-in Math.random() function. By utilizing different formulas and functions, we can generate random numbers within a specific range, with a specific distribution, or as integers. Experiment with different methods to achieve the desired randomness in your applications!