Как в JavaScript сгенерировать случайное число от 0 до 4
Тэги: JavaScript основы JavaScript JavaScript Math.random
📅6-09-2017 👁665
функция Math.random возвращает числа из диапазона от 0 до 1 (не включая 1) — такие, как 0.128 0.830, 09 или 0.42. Значит, на основании этих чисел нужно будет как-то сгенерировать целые случайные числа от 0 до 4.
var randomLoc = Math.random() * 5;
Остается отсечь дробную часть, чтобы получить целое число. Для этого можно воспользоваться другой встроенной математической функцией Math.floor:
var randomLoc = Math.floor(Math.random() * 5);
Так, например, 0.13983 превращается в о,
2.34 превращается в 2, а 4.9 99 превращается в 4.
Если мы хотим сгенерировать число от 0 до 4, то почему в программе встречается число 5:
Math.floor(Math.random() * 5)?
Прежде всего, функция Math.random генерирует число от 0 до 1, не включая 1. Максимальное число, которое можно получить от Math.random, равно 0.999... Максимальное число, которое можно получить при умножении его на 5, равно 4.999... Функция Math.floor округляет числа в меньшую сторону, поэтому 1.2 округляется до 1, но точно так же округляется и 1.9999. Если мы генерируем числа от 0 до 4.999. то все результаты будут округляться до чисел от 0 до 4. Это не единственный способ, и в других языках данная задача нередко решается иначе, но в коде javascript чаще всего встречается именно такое решение.
Если мне понадобится случайное число от 0 до 100 (включая 100), я должен написать
Math.floor(Math.random() * 101)?
Точно! Умножение на 101 и отсечение дробной части вызовом Math.floor гарантирует, что результат не превысит 100.
Оставить свой ответ: