Сегодня мы рассмотрим метод объeкта Math для получения рандомного числа. Данный метод возвращает случайное число в диапазоне от 0 до 1 (не включая 1). При необходимости мы можем масштабировать диапазон.

Math.random()

Math.random()

Тут не будет описания каких-либо параметров.

Давайте рассмотрим простой способ получения случайного числа:

console.log(Math.floor(Math.random() * 10));

Данный код выдаст нам целое случайное число в диапазоне с 0 — 9. Целое потому что мы используем округление числа, можете подробнее почитать тут.

Чтобы иметь возможность задавать максимальное число для округления, мы можем написать функцию:

const getRandomNum = (max) => {
    return Math.floor(Math.random() * max);
}

console.log(getRandomNum(100)); // диапазон - [0, 99]

Случайный элемент массива

Также мы можем применить данную функцию для получения случайного элемента массива:

const arr = ['Orange', 'Apple', 'Cherry', 'Lime', 'Lemon'];

const getRandomNum = (max) => {
    return Math.floor(Math.random() * max);
}

const randomEl = getRandomNum(arr.length);

// Длинна массива 5, но элементы начинают исчисляться от 0, поэтому нам нужно случайное число в диапазоне от 0 до 4
console.log(arr[randomEl]);

Случайное число из заданного диапазона

Чтобы получить случайное целое число в указанном диапазоне мы можем немного изменить нашу функцию:

const getRandomNum = (min, max) => {
    return Math.floor(Math.random() * (max - min) + min);
}

Если вам нужно не целое число, вам всего лишь нужно убрать Math.floor() или заменить его на toFixed() для округления на определенное кол-во знаков после запятой.

Ваши вопросы и комментарии: