В этой небольшой заметке я расскажу как можно получить случайное число в заданном диапазоне на JavaScript.
Использование случайного числа, я покажу в демо примере, где якобы вы находитесь на экзамене и вам нужно вытащить билет (пример с билетиком уже был, но это был другой билет).
Вы вводите количество билетов и вам выдается случайное число в диапазоне от одного (1) до введенного вами числа.
Давайте рассмотрим эту функцию..
Максимальное число (переменная max) берется из поля input, далее мы проверяем его на число и на пустоту.
Функция math.random возвращает случайное число от 0 до 1, но не 0 либо 1, а именно число (с плавающей точкой) из этого диапазона, например:
0.56787687878.. или 0.45657776768..
Функция math.round – округляет число до целого, т.е.:
math.round(0.4) – вернет 0
math.round(0.5) – вернет 1
Для того, чтобы получить случайное значение в заданном диапазоне, мы должны число, полученное из функции, умножить на Максимальное число минус (-) Минимальное, в заданном диапазоне, после этого, к полученному результату, мы должны прибавить Минимальное, для того, чтобы не получить числа – меньшего минимального.
Например, нам нужно получить случайное число в диапазоне от 12 до 50, то мы напишем так:
var randomNum = Math.round((Math.random() * (50 - 12) + 12));
Допусти Math.random() вернул нам 0,235657657567.. умножаем его на 38 и получаем, примерно, 8,954990987546, прибавляем 12 – дабы не получить числа меньшего минимального (меньшего 12) и получаем 20,954990987546, далее округляем до целого..
В итоге в переменную randomNum ляжет случайное целое число (в нашем примере 21) в заданном диапазоне.
Вот так вот и работает принцип получения случайного числа в javascript, вот пример и его исходный код.
Demo случайного билета
Скачать пример
Это все что я хотел рассказать в этой заметке, до новых встреч, удачи!
Если вам нужна помощь в создании какого-либо функционала, сайта, сервиса, тестов или калькуляторов, то готов помочь, подробнее на странице услуг.