Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查对象嵌套的深度?_Javascript - Fatal编程技术网

Javascript 如何检查对象嵌套的深度?

Javascript 如何检查对象嵌套的深度?,javascript,Javascript,假设我有以下目标: const myObj = { id: 1, children: [ { id: 2, children: [ { id: 3 } ] }, { id: 4, children: [ { id: 5, children: [ {

假设我有以下目标:

const myObj = {
  id: 1,
  children: [
    {
      id: 2,
      children: [
        {
          id: 3
        }
      ]
    },
    {
      id: 4,
      children: [
        {
          id: 5,
          children: [
            {
              id: 6,
              children: [
                {
                  id: 7,
                }
              ]
            }
          ]
        }
      ]
    },
  ]
}
我怎么知道这个物体有多深?例如,上面的对象将有4层深


我已经搜索了这么多,我能找到的唯一相似的东西是,但它对我不起作用,而且似乎非常过时。

找到了答案。如果将来有人遇到这种情况:

constmyobj={id:1,子项:[{id:2,子项:[{id:3}]},{id:4,子项:[{id:5,子项:[{id:6,子项:[{id:7,}]}]},]}
函数determineDepthOfObject(对象){
设深度=0;
if(object.children){
object.children.forEach(x=>{
设temp=该对象(x);
如果(温度>深度){
深度=温度;
}
})
}
返回深度+1;
}

console.log(determineDepthOfObject(myObj))
递归,其中您将
子对象
作为根对象传递,“它对我不起作用”-这是对您遇到的问题的一个非常彻底的解释。。。;“看起来也很过时”-这个假设是基于什么?你提到的帖子已经有了创建你自己的解决方案所需的一切。可能是重复的