js统计对象的层数
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
// 更复杂的数据结构持续更新中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?