It?s more than Math.random()
Image by NeONBRAND
The Math.random() will generate a pseudo-random floating number (a number with decimals) between 0 (inclusive) and 1 (exclusive).
Here, the random number doesn?t mean that you always get a unique number. It generates the same number only after some interval. The interval here is very long, so you probably won?t get the same number twice.
To generate a random number, we can use:
Math.random(); //0.6140915758927235 may be you get different value
Defining our own random number function:
function rand(maxLimit = 100) { return Math.random() * maxLimit;} rand(10); // 5.500949568251157
To get whole numbers, we can use:
- Math.floor() ? to round down
- Math.ceil() ? to round up
- Math.round() ? to nearest number
// using Math.floorfunction rand(maxLimit = 100) { let rand = Math.random() * maxLimit; return Math.floor(rand);}// the above code generates any numbers between 0 to maxLimit-1
To get a random number between two numbers (min included, max excluded):
function rand(min, max) { let randomNum = Math.random() * (max – min) + min; return Math.floor(randomNum);}rand(10, 20);
In the above code, (max-min) + min is just to handle if there is any case when the max is less than the min. In such a case, where max is less than min:
max = 5, min = 10(max – min) + min => (5 – 10) + 5 => -5 + 5 => 0
To get random numbers including min and max element, we can change Math.floor to Math.round :
function rand(min, max) { let randomNum = Math.random() * (max – min) + min; return Math.round(randomNum);}rand(10, 20);
Generating Random Hex Colours
We know that hex colours have 1?9 and a-f .
To generate random colours:
- Store hex values on array
- Use math.rand to get index
- Create a color string of length six or three.
Thanks for reading!