let data = [1, 2, 3]
let sorted = []
let push = function(i) {
while(i<data.length) {
sorted.push(data[i])
push(i + 1)
}
}
push(0)
Привет, ребята,
Я пишу некоторую базовую рекурсию, и она, похоже, не завершается. Извините за основной вопрос, но я надеялся, что кто-нибудь сможет его объяснить.
Ожидаемое поведение: имитирует цикл for - перебирает массив и перемещает его в новый массив. Выход, когда мы достигаем i == data.length
Фактическое поведение: работает 0, 1, 2, затем 2, пока не переполнится стек.
Codefiddle: https://jsfiddle.net/t579jbog/