Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
JavaScript: get a random number from a specific range
/**
* Get a random floating point number between `min` and `max`.
*
* @param {number} min - min number
* @param {number} max - max number
* @return {number} a random floating point number
*/
function getRandomFloat(min, max) {
return Math.random() * (max - min) + min;
}
/**
* Get a random integer between `min` and `max`.
*
* @param {number} min - min number
* @param {number} max - max number
* @return {number} a random integer
*/
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
/**
* Get a random boolean value.
*
* @return {boolean} a random true/false
*/
function getRandomBool() {
return Math.random() >= 0.5;
}
@ssugu42
Copy link

ssugu42 commented Jun 25, 2019

Very usefull, thank you ...

@maburdi94
Copy link

maburdi94 commented Jul 17, 2019

One modification could be done with ES6 default parameters to allow it to take either one or two args.

function random(n, b = 0) {
    return Math.random() * (b-n) + n;
}

@manubille
Copy link

manubille commented Oct 2, 2019

I want to print random number between 70 t0 100..

@kerimdzhanov
Copy link
Author

kerimdzhanov commented Oct 3, 2019

I want to print random number between 70 t0 100..

const number = getRandomInt(70, 100);

@manubille
Copy link

manubille commented Oct 11, 2019

I want to print random number between 70 t0 100..

const number = getRandomInt(70, 100);

that's not working ... what is getRandomInt? there is no any predefined function of getRandomInt.. i tried Math.floor(Math.random*100);
but that wat i received 1 to 100 but I just need 70 to 100..

@manubille
Copy link

manubille commented Oct 11, 2019

One-liner versions for anyone that's interested:

const getRandomFloat = (min, max) => Math.random() * (max - min) + min;
const getRandomInt = (min, max) => Math.floor(Math.random() * (max - min + 1) + min);
const getRandomBool = () => Math.random() >= 0.5;

can you expand this so we can easily understand line liner short code and long code like 1 vs 2

@akj-maker
Copy link

akj-maker commented Jul 26, 2020

Really helpful, thanks!

@alh0059
Copy link

alh0059 commented Nov 23, 2020

I know this isn't recent but any tips on actually getting random numbers when a button calls this function often? I was using this to get some random results and the page displays repeats even after refreshing and reloading everything.

@Scratch-Guy
Copy link

Scratch-Guy commented May 27, 2021

Thanks, I needed it

@Sly-Little-Fox
Copy link

Sly-Little-Fox commented Jun 4, 2021

Random boolean method can also be implemented so:

function getRandomBool() {
  return !!Math.round(Math.random());
}

@marvin46
Copy link

marvin46 commented Nov 5, 2021

Thanks dude, its work on my machine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment