Zmienna a w Twoim kodzie służy "inkrementacji" w pętli
for(var a=0; a<i; a++) { . . . }
ten zapis powoduj, że pętla staje się nieskończona:
a=-1; /* TUTAJ JEST PROBLEM*/
po każdym zwiększeniu wartości w zmiennej a:
. . . ; a++) { . . . }
ustawiasz ją na -1. W taki sposób "zapętlony" kod, "wywala" przeglądarkę.
Tu jest za symulowanie tego efektu, co zrobiłeś w sposób, który nie "wywali" przeglądarki CodePen
let loop = 0;
let a=0;
setInterval(() => {
console.clear();
console.log('Loop: ',++loop)
a++;
console.info(a)
a=-1;
console.warn(a)
}, 2000)
10 pseudo-losowych, unikalnych liczb od 1 do 100, w kolejności od najmniejsze do największej CodePen
<style>
#board {
font: 1.1em monospace;
line-height: 10vh;
height: 10vh;
}
</style>
<body>
<pre id="board"></pre>
<button id="generate">Generuj</button>
</body>
<script>
const board = document.getElementById('board');
const b_generate = document.getElementById('generate');
b_generate.addEventListener('click', () => {
board.textContent = randomUnique(10,1,100);
})
function randomUnique(length, min, max) {
let result = [];
while (result.length < length) {
let num = Math.floor(Math.random() * (max - min + 1)) + min;
if (result.indexOf(num) == -1) result.push(num);
}
return result.sort((a,b) => { return a-b; });
}
</script>