Здравствуйте! Я занимаюсь небольшим проектом и столкнулся с проблемой. Мне нужно создать случайное число в заданном диапазоне, используя JavaScript.
Пример: допустим, у меня есть диапазон от 7 до 20, и я хочу, чтобы программа возвращала любое число из этого диапазона (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 или 20).
function generateRandomInRange(start, end) {
// что здесь должно быть?
return ???
}
console.log(generateRandomInRange(7, 20)); // должно вывести число от 7 до 20
Как правильно реализовать эту функцию? Буду признателен за любые советы и примеры кода!
всегда проверяй граничные случаи - что если start больше end или равны. мой код раньше ломался на этом. Math.random() дает от 0 до 1 (не включая 1), так что формула правильная. в продакшене оборачиваю в try-catch
недавно сам с этим разбирался! формула простая - Math.random() * (max - min + 1) + min, потом Math.floor() для целого числа. в твоём случае Math.floor(Math.random() * (20 - 7 + 1) + 7). не забудь +1, иначе верхняя граница не включится. я поначалу забывал и удивлялся почему 20 никогда не выпадает
кстати, если нужны дробные числа - просто убери Math.floor() и получишь любое значение между границами. удобно для анимаций или игровой физики. что за проект делаешь?