ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

js统计对象的层数

2022-05-04 02:00:28  阅读:134  来源: 互联网

标签:count level 对象 param js item 层数 result null


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
// 更复杂的数据结构持续更新中

标签:count,level,对象,param,js,item,层数,result,null
来源: https://www.cnblogs.com/tianmiaogongzuoshi/p/16220190.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有