Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблемы с рекурсией (https://javascript.ru/forum/misc/65689-problemy-s-rekursiejj.html)

DivMan 02.11.2016 22:20

Проблемы с рекурсией
 
Привет, почему функция возвращает фолс, если должна тру? 1 элемент фолс, потом count должен увеличится и функция должна опять запустится и в filterFn(source[count] попадает filterFn(someNumbers[1] и тут должно быть тру, но почему возвращает фолс?

https://jsfiddle.net/1cgf1c7g/

DivMan 02.11.2016 22:44

Я вынес result за функцию и она заработала, но почему то, если в массиве нету чисел, то выдаёт максимальный стек https://jsfiddle.net/1cgf1c7g/6/

DivMan 03.11.2016 04:42

А как сделать без глобальный переменных count и result?
https://jsfiddle.net/3c5a2yjz/

Aetae 03.11.2016 16:07

Правильный ответ: без рекурсии.
Просто ответ: как всегда, через замыкание, либо передавая их доп. аргументом.

DivMan 03.11.2016 22:12

Делаю через замыкание, почему ругается на else, никак понять не могу?

https://jsfiddle.net/kk44ya9L/7/

Aetae 03.11.2016 22:15

Потому что точка с запятой - конец выражения.

DivMan 03.11.2016 22:22

А здесь, почему else не срабатывает? https://jsfiddle.net/kk44ya9L/9/


Часовой пояс GMT +3, время: 08:24.