Этот код должен добавлять случайные числа в объект, создавая список элементов с уникальными идентификаторами. Код проверяет каждый rnd #, чтобы увидеть, есть ли он уже в списке.
Работает нормально, но через случайное количество времени он добавится к счетчику, но пропускает добавление элемента в список.
Я просто что-то здесь упускаю?
Спасибо
jsfiddle здесь: https://jsfiddle.net/jelder/en0pmdtb/
console.log("Starting...");
var rnd = 0;
var list = {};
var count = 0;
var loop = setInterval(function() {
//Genereate rnd number and check if it is in the list
check1: while(true){
rnd = parseInt(Math.random()*10000);
if (Object.keys(list).indexOf(rnd)>=0){
console.log('dupe:'+count);
continue check1;
} else {
break check1;
}
}
//Add to list
list[rnd] = {
'a':count
};
//Add to counter
count++;
//Debug - Count not mactching list length
if (count != Object.keys(list).length) {
console.log(count + " : "+Object.keys(list).length);
clearInterval(loop);
}
//Stop at limit
if(count >= 11000) {
console.log('hit limit');
clearInterval(loop);
}
},50);