```
const getRandomNumber = (min, max, inclusive = false) => {
if (!inclusive) return Math.floor(Math.random() * (max - min) + min);
return Math.floor(Math.random() * (max - min + 1) + min);
};
```

## Explanation:

There may be many cases in which we want to generate a random number and in JavaScript, we can do this by using the `Math.random()`

function.

Generating random numbers in JavaScript is not as intuitive as it is in other languages as the `Math.random()`

function only generates a floating-point number between 0 - 1. We often want to specify our own range and thus this snippet helps you do that.

By default, the

`Math.random()`

function is exclusive meaning that it includesthe lower bound number but excludes the upper bound number. For example, using

`Math.random()`

function will generate a floating-point number between 0 - 1but not including 1. Therefore, the number that is generated will never be 1.

The `getRandomNumber`

function mimics the `Math.random()`

function since by default `getRandomNumber`

is exclusive.

## How to use the getRandomNumber Function

```
import getRandomNumber from "./getRandomNumber";
const min = 1;
const max = 500;
const includeMaxNumber = true;
const randomNumber = getRandomNumber(min, max, includeMaxNumber);
```

The getRandomNumber function has three parameters:

- A minimum value
- A maximum value
- An inclusivity parameter which is a boolean

I've added an inclusivity parameter that allows you to specify if you want to include or exclude the max number. By default this inclusivity parameter is set to **false**, therefore, it will act like the normal `Math.random()` function and generate a random number from the minimum value to the maximum value but not including the maximum value. By setting the inclusivity parameter to **true**, the `getRandomNumber` function will generate a random number from the minimum value to the maximum value and will include the maximum value.