码上平台判断对象最大层数吧

62 阅读1分钟

我正在参加「码上掘金挑战赛」详情请看:码上掘金挑战赛来了!

介绍

判断对象最大层数在前端是十分常见的,我们在许多场景下都需要去进行判断对象最大层数,接下来,我将设计一个函数用于判断对象最大层数,如果大家有任何疑问和难题都可以评论区留言,我会第一时间解决和处理的。谢谢各位观众老爷的支持。

码上掘金地址

核心功能介绍

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))
  1. 首先设计一个函数,函数的参数是对象
  2. 函数的内部设计一个递归函数,递归函数的第一个参数是对象,第二个参数是当前层级数目
  3. 使用临时变量max表示当前最大层数
  4. 遍历传递的对象,如果是对象则当前层数+1,并且更新max.继续进入下一层递归的判断函数中
  5. 返回最大的层数max

总结

通过对判断对象最大层数的分步讲解,大家肯定对判断对象最大层数有了很深的见解,后续大家可以亲自在码上掘金动手实践会更加明白其中的设计过程,谢谢各位的观看,有疑问评论区见。