首页 > 解决方案 > 使用递归函数迭代嵌套对象,返回未定义

问题描述

我需要遍历一个嵌套函数并找到与我想要的具有相同键的子对象。这是代码:

 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;
    };

我进行了很多搜索,发现很多人都在推荐这种方式,但我不知道为什么我在登录 console.log(searchObject(obj, "Intercept")) 时会变得未定义。(我正在使用 React 框架)

标签: javascriptreactjsrecursionecmascript-6nested-object

解决方案


forEach 返回 undefined

 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;
    };

推荐阅读