В JavaScript для работы со случайными числами используется встроенный метод Math.random(). Этот метод возвращает псевдослучайное число с плавающей точкой от 0 (включительно) до 1 (не включительно).
const randomNumber = Math.random();
console.log(randomNumber); // число от 0 до 0.9999...Получение случайного числа в диапазоне
Чтобы получить случайное число в заданном диапазоне, результат Math.random() нужно масштабировать.
Случайное целое число от 0 до max
function getRandomInt(max) {
return Math.floor(Math.random() * (max + 1));
}
console.log(getRandomInt(10)); // число от 0 до 10Случайное целое число в диапазоне от min до max
function getRandomIntInRange(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandomIntInRange(5, 15)); // число от 5 до 15Случайное число с плавающей точкой в диапазоне
function getRandomFloatInRange(min, max) {
return Math.random() * (max - min) + min;
}
console.log(getRandomFloatInRange(1.5, 5.5)); // число от 1.5 до 5.5Генерация случайного элемента массива
const items = ['apple', 'banana', 'cherry', 'date'];
function getRandomItem(array) {
const index = Math.floor(Math.random() * array.length);
return array[index];
}
console.log(getRandomItem(items));Генерация случайной строки
function getRandomString(length) {
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let result = '';
for (let i = 0; i < length; i++) {
result += chars.charAt(Math.floor(Math.random() * chars.length));
}
return result;
}
console.log(getRandomString(8)); // случайная строка из 8 символовГенерация случайного булевого значения
function getRandomBoolean() {
return Math.random() < 0.5;
}
console.log(getRandomBoolean()); // true или falseОсобенности Math.random()
- Возвращает псевдослучайные числа (не криптографически безопасные).
- Генератор основан на алгоритмах браузера и не имеет настроек для указания начального значения (seed).
- Для криптографической генерации в современных браузерах есть
crypto.getRandomValues().
Math.random() в JavaScript — это базовый инструмент для работы со случайными числами. Его удобно использовать при создании генераторов чисел, перемешивании массивов, случайном выборе элементов или создании простых идентификаторов. Несмотря на простоту, этот метод покрывает большинство повседневных задач, связанных со случайностью в клиентских скриптах.