Использование рекурсивной функции для перебора вложенного объекта возвращает неопределенное - PullRequest
0 голосов
/ 24 апреля 2020

Мне нужно перебрать вложенную функцию и найти подобъект, имеющий тот же ключ, что и я. вот код:

 const searchObject = (obj, label) => {
        const object = Object.keys(obj).forEach(key => {
            if(label === key) {
                return obj[key];
            } else if(typeof obj[key] === "object") {
                const value = searchObject(obj[key], label);
                if(value) return value;
            }
        });
        return object;
    };

Я много искал и обнаружил, что многие люди рекомендуют этот способ, но я не знаю, почему я получаю undefined при входе в console.log (searchObject ( obj, "Перехват")). (Я использую React Framework)

1 Ответ

1 голос
/ 24 апреля 2020

forEach возвращает неопределенное значение .

 const searchObject = (obj, label) => {
        var object = {}
        Object.keys(obj).forEach(key => {
            if(label === key) {
                object = obj[key];
            } else if(typeof obj[key] === "object") {
                const value = searchObject(obj[key], label);
                if(value) object = return value;
            }
        });
        return object;
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...