как генерировать случайные числа в заданном диапазоне в javascript
год назад
Nikolai Gagarinov
Ответы
Вот базовая функция, которая генерирует случайное целое число в заданном диапазоне, например от min
до max
(включительно):
В функции getRandomInt
происходит следующее:
-
Округление
min
иmax
:Math.ceil(min)
— округляетmin
до ближайшего большего целого, чтобы гарантировать, что минимальное значение не будет меньше указанного.Math.floor(max)
— округляетmax
до ближайшего меньшего целого, чтобы максимальное значение не превышало указанное.
-
Генерация случайного числа:
Math.random()
возвращает число от 0 (включительно) до 1 (исключительно).- Умножая
Math.random()
на(max - min + 1)
, мы получаем значение от 0 до(max - min)
(включительно). - Применяя
Math.floor()
, мы отбрасываем дробную часть, что даёт нам целое число в диапазоне от0
до(max - min)
. - В конце, добавляем
min
, чтобы сместить диапазон, так что он становится отmin
доmax
(включительно).
Если вам необходимо получить случайные числа с плавающей запятой в заданном диапазоне, вы можете использовать следующую функцию:
Если вы хотите получать случайные значения из массива без повторений, можно использовать алгоритм shuffle (перетасовка), чтобы перетасовать массив, а затем брать из него значения.
Если вам необходимо генерировать псевдослучайные числа с возможностью воспроизведения (например, для тестирования), вы можете использовать такие библиотеки, как seedrandom
.
9 месяцев назад
Ivan Gagarinov
Похожие вопросы