Вложенные циклы JS
Подскажите пожалуйста, есть простая задача по выводу простых чисел. Вот код:
`nextPrime:
for (let i = 2; i <= 10; i++) {
for (let j = 2; j < i; j++) {
if (i % j == 0) continue nextPrime;
}
alert( i );
}`
Код полностью рабочий. Хочу понять, почему j во вложенном цикле сбрасывается, при увеличении i
Ответы (1 шт):
Автор решения: krakodeel
→ Ссылка
Потому что внутри первого цикла ты целиком определил второй цикл. Так и должно быть. Вот если бы j зависело от i или инициализировалось раньше тогда могло бы быть иначе.
Например вот второй случай, когда инициализация innerCounter делается до внешнего цикла:
let innerCounter = 0
for(let outerCounter = 0; outerCounter < 11; outerCounter++){
for(;innerCounter<outerCounter*10 + 1;innerCounter++){
console.log([outerCounter, innerCounter]);
}
}