Как сгенерировать 5 случайных чисел от 1 до 20 в javascript
Всем Привет
Я работаю над кодом, в котором мне нужно сгенерировать 5 чисел из заданного диапазона (здесь от 1 до 20).
Я мог бы сгенерировать одно случайное число, как показано ниже, и запустить приведенный выше код в цикле для генерации 5 раз, правильно ли это?
Кроме того, иногда я получаю одни и те же числа в последних 5 числах.
Заранее спасибо.
Что я уже пробовал:
<script type="text/javascript"> $(document).ready(function () { $('#div').html(Math.floor(Math.random() * 6) + 1); var arr = []; for (var i = 0; i < 5; i++) { arr.push(Math.floor(Math.random() * 6) + 1) } console.log(arr); }); </script>
F-ES Sitecore
- это правильный путь?
если вы хотите 5 случайных чисел, то да
> иногда я получаю одни и те же числа в последних 5 числах.
А почему бы и нет? Это генератор случайных чисел, а не уникальный генератор случайных чисел, и в вашем коде нет ничего, что гарантировало бы уникальность чисел. Если вас интересуют только уникальные числа, то вам понадобится способ игнорировать уже выбранные случайные числа или ограничить пул возможных случайных чисел, чтобы каждый раз получать уникальное число. Как бы то ни было, если вы загуглите "javascript get unique random numbers", я уверен, что вы найдете образец кода.
Kornfeld Eliyahu Peter
За исключением границ [1,20] он выглядит хорошо...
Просмотрите это: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
Sinisa Hajnal
Вы не генерируете 1-20. В остальном код выглядит нормально. Если вам нужны уникальные числа, вам нужен массив для проверки уже выбранных чисел и нужно изменить цикл с фиксированного числа на while.