Задать вопрос

Рекурсия внутри цикла в js, ЧТО здесь вообще происходит?

Можете объяснить поочередно что куда зачем???
function rec(value) {
	for (let i = 0; i < 2; i++) {

		console.log("start " + value);

		if (value <= 0) return;

		rec(--value);
		console.log('end');
	}
}

rec(3)

Результат :
start 3
start 2
start 1
start 0
end
start 0
end
start 1
start 0
end
end
start 2
start 1
start 0
end
start 0
end
  • Вопрос задан
  • 335 просмотров
Подписаться 2 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
@twolegs
Расставил отступы, чтобы было видно что на каком уровне вложенности выполняется.
start 3
    start 2
        start 1
            start 0
        end
        start 0
    end
    start 1
        start 0
    end
end
start 2
    start 1
        start 0
    end
    start 0
end


Возможные причины выноса мозга:
1. end не выводится после 0. Т.е. вероятно, вы для себя неправильно расставили все соответствия при выводе.
2. Цикл всегда ограничен двумя итерациями.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы