Цикл for в цикле for. Как оно считает?
let sum = 0;
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 6; j++) {
sum = i + j
}
}
console.log(sum);
Ответ 7. Но почему я здесь вижу 6? Цикл с j будет считать трижды. То есть
1) 0 + 0 = 0
2) 1 + 1 = 2 (sum)
3) 2(sum) + 2 + 2 = 6
Подскажите где еще 1 затерялась?
Ответы (2 шт):
Первый шаг внешнего цикла i = 0.
Переход к внутреннему циклу. Внутренний цикл отработает 6 шагов (j от 0 до 5)
Второй шаг внешнего цикла i = 1.
Переход к внутреннему циклу. Внутренний цикл отработает 6 шагов (j от 0 до 5)
Третий шаг внешнего цикла i = 2.
Переход к внутреннему циклу. Внутренний цикл отработает 6 шагов (j от 0 до 5)
Выход из внешнего цикла.
sum = i + j - каждый раз суммируются значения счетчиков, но суммы не сохраняются, не дополняются. В итоге в консоль будет выведена сумма последних значений счетчиков
Добавьте вывод в каждой итерации и посмотрите, что на самом деле проихсодит:
let sum = 0;
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 6; j++) {
sum = i + j
console.log(`sum = ${i} + ${j}`)
}
}
console.log(sum);