美文网首页
js统计对象的层数

js统计对象的层数

作者: 天渺工作室 | 来源:发表于2022-05-04 01:47 被阅读0次

    js算法统计对象的层数

    // 测试数据
    var testObj = {
        b: {
            c: {
                d: {
                    e: {}
                }
            },
            c: {
                d: {
                    e: {
                        d: {
                            a: {
                                b: {
                                    a: {
    
                                    }
                                },
                                a: {
                                    a: {
                                        a: {
    
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    //封装方法
    function getObjLayer (obj = {}) {
        let result = 1;
        const count = (param, level = 0) => {
            result = level;
            if(typeof param === 'object' && param !== null) {
                Object.values(param).forEach(item => {
                    // 递归
                    if (typeof item === 'object' && item !== null) {
                        count(item, level + 1);
                        // debugger;
                    }
                });
            }
        };
        // 手动启动
        count(obj);
        return result;
    };
    
    console.log('打印结果:', getObjLayer(testObj)); // 9
    // 更复杂的数据结构持续更新中
    

    相关文章

      网友评论

          本文标题:js统计对象的层数

          本文链接:https://www.haomeiwen.com/subject/vgcwyrtx.html