Aderus
@Aderus

Хочу получить рандомные числа. Что тут не так?

Есть массив. И в консоли я хочу через каждую секунду получать рандомное число. А у меня либо счетчик застывает после двух итераций или пишет NaN.
var array = ['1', '2', '3', '4', '5', '6', '7'];
var item = array[Math.floor(Math.random()*array.length)];
var i = 0;
  setInterval(function () {
        console.log(item);
  }, 1000);
  • Вопрос задан
  • 303 просмотра
Пригласить эксперта
Ответы на вопрос 2
@imhuman
Не усложняйте вариант задающего вопрос, все у него правильно было, только item стоило сделать функцией, иначе всегда одинаковый результат был бы. Добавлять -1 к array.length не надо, иначе в сочетании с floor никогда не получим последний элемент массива.
var array = ['1', '2', '3', '4', '5', '6', '7'];
var item = function(){return array[Math.floor(Math.random()*array.length)]};
setInterval(function () {
        console.log(item());
}, 1000);
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
var item = array[Math.round(Math.random()*(array.length-1))];
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
25 нояб. 2024, в 02:45
2000 руб./за проект
24 нояб. 2024, в 23:46
20000 руб./за проект