Жёсткий затуп с генерацией уникальных чисел
Здравствуйте! Код должен поместить в массив только уникальные числа.
var res=[]; var i = 0; while(i<38){ var n = ~~(Math.random()*100); //генерация двухзначного числа if(n<38 && !!res.indexOf(n)){ //чисто условно нужно число меньше 38 и уже не находящееся в массиве res.push(n); //суём его в массив i++; } } console.log(res); Но что-то здесь не так,потому что в массиве всё равно появляются повторяющиеся числа, не пойму никак, в чём ошибка |
Цитата:
|
Вложений: 1
Цитата:
|
innowed,
Цитата:
if(n<38 && res.indexOf(n) == -1) |
innowed,
:-? if(n<38 && !~res.indexOf(n)) |
Это всё ведёт в бесконечный цикл, я почему и написал)))
|
innowed,
какая проблема сгененировать сразу что нужно? без while Цитата:
у меня не зацикливает, но подбор может длится очень долго -- выход: генерация того что нужно сразу |
Часовой пояс GMT +3, время: 12:49. |