Сегодня мы рассмотрим метод объ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() для округления на определенное кол-во знаков после запятой.