我正在参加「码上掘金挑战赛」详情请看:码上掘金挑战赛来了!
介绍
判断对象最大层数在前端是十分常见的,我们在许多场景下都需要去进行判断对象最大层数,接下来,我将设计一个函数用于判断对象最大层数,如果大家有任何疑问和难题都可以评论区留言,我会第一时间解决和处理的。谢谢各位观众老爷的支持。
码上掘金地址
核心功能介绍
function maxLevel (obj) {
let max = 1
const main = (o,level) => {
for(let key in o) {
let val = o[key]
if(typeof val==='object') {
main(val,level+1)
max = Math.max(max,level+1)
}
}
}
main(obj,1)
return max
}
let obj = {
name:"dzp",
a:{
b:2
}
}
console.log(maxLevel(obj))
- 首先设计一个函数,函数的参数是对象
- 函数的内部设计一个递归函数,递归函数的第一个参数是对象,第二个参数是当前层级数目
- 使用临时变量max表示当前最大层数
- 遍历传递的对象,如果是对象则当前层数+1,并且更新max.继续进入下一层递归的判断函数中
- 返回最大的层数max
总结
通过对判断对象最大层数的分步讲解,大家肯定对判断对象最大层数有了很深的见解,后续大家可以亲自在码上掘金动手实践会更加明白其中的设计过程,谢谢各位的观看,有疑问评论区见。