Javascript 101: Генерация случайного числа

Приветствую вас, коллеги-кодеры и технические энтузиасты! Сегодня мы погружаемся в удивительный мир фрагментов кода. 🚀

Если вы провели какое-то время в обширной сфере программирования, вы, вероятно, сталкивались с этими небольшими фрагментами кода, которые очень быстро решают распространенные проблемы или добавляют изящные функции в ваши проекты. Мы говорим о тех надежных компаньонах, которые делают наш путь кодирования более плавным и эффективным.

Здесь мы рассмотрим некоторые из наиболее часто используемых фрагментов кода, которые могут понадобиться вам однажды, независимо от того, являетесь ли вы опытным профессионалом или только начинаете свое приключение в программировании. Эти фрагменты наверняка пригодятся и сэкономят вам драгоценное время и усилия.

  1. Создание случайного числа:
function getRandomNumber(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

// Usage example
const randomNumber = getRandomNumber(1, 100);
console.log(randomNumber); // Output: Random number between 1 and 100

Здесь я использовал встроенную функцию Math.random(), которая генерирует псевдослучайное десятичное число от 0 (включительно) до 1 (исключительно).

Math.Random()
// 0.6252474231132967

Math.Random()
// 0.03772396106405407

А когда мы умножаем его на целое число N, он масштабирует диапазон сгенерированного случайного числа от 0 (включительно) до N (исключительно).

Math.random()*8
// 2.27924218449437

Math.random()*80
// 13.722102542882197

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

(5 - 0 + 1)
// 6 ==> Math.random()*6 will generate in range (0-5)

/* Without the 1 */
(5 - 0)
// 5 ==> Math.random()*5 will be in range (0-4)

Функция Math.floor() используется для округления десятичного числа, полученного на предыдущем шаге, до ближайшего целого числа. Это гарантирует, что окончательный результат будет целым числом.

Math.random()*5
// Will look like - 1.359376633672147

/* We need to drop the decimal part*/
Math.floor(Math.random()*5)
// 1 

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

/* min=0, max=5 */
Math.floor(Math.random()*5)
// 2 || 3 || 0

/* To generate in a range (5-10) */
Math.floor(Math.random()*(10 - 5 + 1)) + 5
// 6 || 8 || 10

В этом сообщении блога мы рассмотрели генерацию случайных чисел. Не забудьте адаптировать и настроить код в соответствии с вашими конкретными требованиями. Универсальность JavaScript и эти фрагменты кода, несомненно, повысят ваши навыки программирования и продуктивность.

Посмотрите еще несколько историй от меня:

Автоматизация VS Code, открытие Google Chrome при запуске Ubuntu с помощью Python

Полное руководство: лучшие бесплатные ресурсы для изучения Python онлайн

Важность знаний о системном дизайне и создание базового приложения To-Do

Понимание разницы между NPM и Yarn