как генерировать случайные числа в заданном диапазоне в javascript — Q&A Хекслет
2026-02-26 22:49 Diff

Ответы

Вот базовая функция, которая генерирует случайное целое число в заданном диапазоне, например от min до max (включительно):

В функции getRandomInt происходит следующее:

  1. Округление min и max:

    • Math.ceil(min) — округляет min до ближайшего большего целого, чтобы гарантировать, что минимальное значение не будет меньше указанного.
    • Math.floor(max) — округляет max до ближайшего меньшего целого, чтобы максимальное значение не превышало указанное.
  2. Генерация случайного числа:

    • Math.random() возвращает число от 0 (включительно) до 1 (исключительно).
    • Умножая Math.random() на (max - min + 1), мы получаем значение от 0 до (max - min) (включительно).
    • Применяя Math.floor(), мы отбрасываем дробную часть, что даёт нам целое число в диапазоне от 0 до (max - min).
    • В конце, добавляем min, чтобы сместить диапазон, так что он становится от min до max (включительно).

Если вам необходимо получить случайные числа с плавающей запятой в заданном диапазоне, вы можете использовать следующую функцию:

Если вы хотите получать случайные значения из массива без повторений, можно использовать алгоритм shuffle (перетасовка), чтобы перетасовать массив, а затем брать из него значения.

Если вам необходимо генерировать псевдослучайные числа с возможностью воспроизведения (например, для тестирования), вы можете использовать такие библиотеки, как seedrandom.