JavaScript метод random()
JavaScript MathОпределение и применение
JavaScript метод random() объекта Math возвращает псевдослучайное число от 0 до 1. Обращаю Ваше внимание на то, что метод random() может возвращать значение 0, но никогда не вернет значение 1.
Поддержка браузерами
Метод | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
random() | Да | Да | Да | Да | Да | Да |
JavaScript синтаксис:
Math.random();
Версия JavaScript
1.0 (ECMAScript 1st Edition)Пример использования
Базовое использование
В следующем примере с помощью метода random() мы получим случайное число от 0 (включительно) до 1 (не включая):
const rnd = Math.random(); console.log(rnd); // возвращаемое значение 0.5017845092137254
Получение случайного числа в заданном диапазоне
В следующем примере с помощью метода random() мы рассмотрим как получить случайное число внутри определенного диапазона. Обратите внимание, что возвращаемое значение не может быть меньше параметра min и не более, или равно параметра max:
function getRandomFromRange(min, max) { return Math.random() * (max - min) + min; } console.log(getRandomFromRange(5, 10)); // возвращаемое значение 6.830906542874363 console.log(getRandomFromRange(5, 10)); // возвращаемое значение 9.436449613234068 console.log(getRandomFromRange(5, 10)); // возвращаемое значение 6.4493344451274055 console.log(getRandomFromRange(5, 10)); // возвращаемое значение 5.160973635403946 console.log(getRandomFromRange(5, 10)); // возвращаемое значение 5.369261822513969
Получение случайного целого числа в заданном диапазоне
В следующем примере мы рассмотрим как с помощью метода random(), ceil() и floor() объекта Math получить случайное целое число внутри определенного диапазона. Обратите внимание, что возвращаемое значение не может быть меньше параметра min и не более, или равно параметра max:
function getRandomIntFromRange(min, max) { min = Math.ceil(min); // вычисляет и возвращает наименьшее целое число, которое больше или равно переданному числу (округляет число вверх) max = Math.floor(max); // вычисляет и возвращает наибольшее целое число, которое меньше или равно переданному числу (округляет число вниз) return Math.floor(Math.random() * (max - min)) + min; } console.log(getRandomIntFromRange(5, 10)); // возвращаемое значение 6 console.log(getRandomIntFromRange(5, 10)); // возвращаемое значение 9 console.log(getRandomIntFromRange(5, 10)); // возвращаемое значение 1 console.log(getRandomIntFromRange(5, 10)); // возвращаемое значение 5 console.log(getRandomIntFromRange(5, 10)); // возвращаемое значение 6
Получение случайного элемента в массиве
В следующем примере мы рассмотрим как с помощью методов ceil() и random() найти случайный элемент внутри массива:
const arr = ["a", "b", "c"]; const randomElement = arr[Math.floor(Math.random() * arr.length)]; Например: arr[Math.floor(0.8610795581202113 * 3)]; // индекс будет соответствовать 2JavaScript Math