Жёсткий затуп с генерацией уникальных чисел
Здравствуйте! Код должен поместить в массив только уникальные числа.
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, время: 11:11. |