@liltrill

Как сохранить результат в рекурсии?

Есть очень большой массив состоящий из объектов, и в объектах есть вложенность, вот функция которая находит нужный объект но не возвращает:
function getObjectId(id, listQuestion) {
        for ( let question of listQuestion ) {
            if ( question.id === id ) {
                console.log(question);
                return question;
            }

            if ( question.ifQ ) {
                for ( let answer of question.answer ) {
                    getObjectId(id, answer.children);
                }
            }
        }
    }


console.log - выдает правильный результат, а вот функция возвращает undefined.

Как можно сохранить результат, я так понял он в стеке функции теряется((
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 1
@liltrill Автор вопроса
function getObjectId(id, listQuestion) {
        let returnValue = '';
        
        for ( let question of listQuestion ) {
            if ( question.id === id ) return question;

            if ( question.ifQ ) {
                for ( let answer of question.answer ) {
                    returnValue = getObjectId(id, answer.children);
                    if ( !!returnValue ) return returnValue;
                }
            }
        }
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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