Сейчас загружается

JavaScript генерирущий случайное целое число

JavaScript генерирущий случайное целое число

Если ты хочешь сгенерировать случайное целое число, представляющее время в миллисекундах от 1.5 секунд (1500 мс) до 5 секунд (5000 мс), вот подходящий код на JavaScript:

const min = 1500; // 1.5 секунды в миллисекундах
const max = 5000; // 5 секунд в миллисекундах

const randomTime = Math.floor(Math.random() * (max - min + 1)) + min;

console.log(randomTime); // Вывод: случайное число от 1500 до 5000

🔍 Объяснение:

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

✅ Результат:

Этот код вернёт целое число от 1500 до 5000 мс (включительно), что соответствует от 1.5 до 5 секунд.

💡 Применение:

Часто такой код используется в setTimeout() для случайной задержки:

setTimeout(() => {
  console.log("Прошло случайное время!");
}, randomTime);

Разберём этот код по частям:

const delay = attempt === 1 ? baseDelay : baseDelay * Math.pow(2, attempt - 1);

🧠 Что делает этот код?

Этот строка устанавливает значение переменной delay («задержка»), в зависимости от значения переменной attempt.
Используется тернарный оператор, который работает как краткая форма условия if...else.

🔁 Логика работы:

Если attempt === 1 (то есть это первая попытка):

delay = baseDelay;

Иначе:

delay = baseDelay * Math.pow(2, attempt - 1);

📚 Что такое Math.pow(2, attempt - 1)?

Это возведение числа 2 в степень (attempt - 1), то есть:

image JavaScript генерирущий случайное целое число

✅ Зачем это нужно?

Этот подход часто используется при реализации экспоненциальной задержки между попытками (exponential backoff), например:

  • При повторных попытках подключения к серверу.
  • При обработке ошибок API.
  • Чтобы избежать перегрузки сервера при частых запросах.

💡 Пример:

Допустим:

const baseDelay = 1000; // 1 секунда

Тогда:

image-1 JavaScript генерирущий случайное целое число

🧩 Вывод:

Этот код вычисляет время задержки, которое увеличивается в геометрической прогрессии с каждой новой попыткой — типичное поведение для систем, использующих алгоритм экспоненциального отката (exponential backoff).

Share this content:

Отправить комментарий