Вытащить случайный билет на экзамене онлайн — random на javascript

случайное число

В этой небольшой заметке я расскажу как можно получить случайное число в заданном диапазоне на 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 случайного билета

Скачать пример

Это все что я хотел рассказать в этой заметке, до новых встреч, удачи!

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