查询树结构的某个子节点所在层级

537 阅读4分钟
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<script type="text/javascript" src="node.js"></script>
</head>
<body>
	<script type="text/javascript">
		
		function FindChildLayerById(arr,id,layer)
		{
			for (var i = 0; i < arr.length; i++) {
				if(arr[i].id==id)
				{
					return {
								child:arr[i],
								layer:layer
							}
				}
				else
				{
					return FindChildLayerById(arr[i].children,id,layer+1);
				}
			}
		}
		console.log(FindChildLayerById(node.data,395,1).layer);
	</script>
</body>
</html>

node.js

var node ={
  "resultCode": 0,
  "data": [
    {
      "id": -1,
      "directoryName": "默认目录",
      "parentId": 0,
      "qrcodeNum": 8,
      "qrcodeNumTotal": 21,
      "orderNum": 0,
      "children": [
        {
          "id": 122,
          "directoryName": "测试重",
          "parentId": -1,
          "qrcodeNum": 4,
          "qrcodeNumTotal": 4,
          "orderNum": 0,
          "children": [
            {
              "id": 395,
              "directoryName": "未命名目录测试",
              "parentId": 122,
              "qrcodeNum": 0,
              "qrcodeNumTotal": 0,
              "orderNum": 19,
              "children": [
                
              ]
            },
            {
              "id": 411,
              "directoryName": "未命名目录555",
              "parentId": 122,
              "qrcodeNum": 0,
              "qrcodeNumTotal": 0,
              "orderNum": 20,
              "children": [
                
              ]
            }
          ]
        },
        {
          "id": 365,
          "directoryName": "未命名目录",
          "parentId": -1,
          "qrcodeNum": 9,
          "qrcodeNumTotal": 9,
          "orderNum": 90,
          "children": [
            
          ]
        },
        {
          "id": 399,
          "directoryName": "未命名目录测试事实上",
          "parentId": -1,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 92,
          "children": [
            
          ]
        },
        {
          "id": 404,
          "directoryName": "测试",
          "parentId": -1,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 93,
          "children": [
            
          ]
        },
        {
          "id": 406,
          "directoryName": "未命名目录11111",
          "parentId": -1,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 94,
          "children": [
            
          ]
        },
        {
          "id": 407,
          "directoryName": "未命名目录1111",
          "parentId": -1,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 95,
          "children": [
            
          ]
        },
        {
          "id": 408,
          "directoryName": "未命名目录12",
          "parentId": -1,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 96,
          "children": [
            
          ]
        },
        {
          "id": 409,
          "directoryName": "未命名目录dsfasfsadf",
          "parentId": -1,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 97,
          "children": [
            {
              "id": 416,
              "directoryName": "未命名目录",
              "parentId": 409,
              "qrcodeNum": 0,
              "qrcodeNumTotal": 0,
              "orderNum": 0,
              "children": [
                
              ]
            }
          ]
        },
        {
          "id": 410,
          "directoryName": "未命名目录qqq",
          "parentId": -1,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 98,
          "children": [
            
          ]
        },
        {
          "id": 413,
          "directoryName": "未命名目录ces ",
          "parentId": -1,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 99,
          "children": [
            
          ]
        },
        {
          "id": 414,
          "directoryName": "未命名目录dsjfldj",
          "parentId": -1,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 100,
          "children": [
            
          ]
        },
        {
          "id": 415,
          "directoryName": "未命名目录ceshi ",
          "parentId": -1,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 101,
          "children": [
            
          ]
        }
      ]
    },
    {
      "id": 181,
      "directoryName": "未命名目录111",
      "parentId": 0,
      "qrcodeNum": 4,
      "qrcodeNumTotal": 6,
      "orderNum": 1,
      "children": [
        {
          "id": 191,
          "directoryName": "未命名目录qqq",
          "parentId": 181,
          "qrcodeNum": 2,
          "qrcodeNumTotal": 2,
          "orderNum": 1,
          "children": [
            {
              "id": 345,
              "directoryName": "未命名目录",
              "parentId": 191,
              "qrcodeNum": 0,
              "qrcodeNumTotal": 0,
              "orderNum": 1,
              "children": [
                
              ]
            }
          ]
        },
        {
          "id": 412,
          "directoryName": "未命名目录ceshi",
          "parentId": 181,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 11,
          "children": [
            
          ]
        }
      ]
    },
    {
      "id": 281,
      "directoryName": "未命名目录-移动添加",
      "parentId": 0,
      "qrcodeNum": 5,
      "qrcodeNumTotal": 5,
      "orderNum": 14,
      "children": [
        {
          "id": 417,
          "directoryName": "未命名目录",
          "parentId": 281,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 0,
          "children": [
            
          ]
        }
      ]
    },
    {
      "id": 282,
      "directoryName": "未命名目录测试添加",
      "parentId": 0,
      "qrcodeNum": 6,
      "qrcodeNumTotal": 6,
      "orderNum": 15,
      "children": [
        {
          "id": 418,
          "directoryName": "未命名目录",
          "parentId": 282,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 0,
          "children": [
            
          ]
        }
      ]
    },
    {
      "id": 299,
      "directoryName": "AAA",
      "parentId": 0,
      "qrcodeNum": 2,
      "qrcodeNumTotal": 3,
      "orderNum": 19,
      "children": [
        {
          "id": 300,
          "directoryName": "BBB",
          "parentId": 299,
          "qrcodeNum": 1,
          "qrcodeNumTotal": 1,
          "orderNum": 0,
          "children": [
            
          ]
        },
        {
          "id": 343,
          "directoryName": "CCC",
          "parentId": 299,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 1,
          "children": [
            
          ]
        },
        {
          "id": 384,
          "directoryName": "未命名目录上岛咖啡独守空房",
          "parentId": 299,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 2,
          "children": [
            
          ]
        }
      ]
    },
    {
      "id": 302,
      "directoryName": "金海路",
      "parentId": 0,
      "qrcodeNum": 1,
      "qrcodeNumTotal": 1,
      "orderNum": 20,
      "children": [
        {
          "id": 370,
          "directoryName": "未命名目录1",
          "parentId": 302,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 0,
          "children": [
            
          ]
        },
        {
          "id": 382,
          "directoryName": "未命名目录dfjdsljf",
          "parentId": 302,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 2,
          "children": [
            
          ]
        },
        {
          "id": 383,
          "directoryName": "未命名目录撒旦范德萨发生的",
          "parentId": 302,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 3,
          "children": [
            
          ]
        }
      ]
    },
    {
      "id": 341,
      "directoryName": "未命名目录ceshi ",
      "parentId": 0,
      "qrcodeNum": 1,
      "qrcodeNumTotal": 1,
      "orderNum": 27,
      "children": [
        
      ]
    },
    {
      "id": 368,
      "directoryName": "未命名目录",
      "parentId": 0,
      "qrcodeNum": 0,
      "qrcodeNumTotal": 0,
      "orderNum": 42,
      "children": [
        
      ]
    },
    {
      "id": 369,
      "directoryName": "未命名目录ceshi s",
      "parentId": 0,
      "qrcodeNum": 0,
      "qrcodeNumTotal": 0,
      "orderNum": 43,
      "children": [
        
      ]
    },
    {
      "id": 374,
      "directoryName": "未命名目录记录是否立即受到法律",
      "parentId": 0,
      "qrcodeNum": 0,
      "qrcodeNumTotal": 0,
      "orderNum": 44,
      "children": [
        
      ]
    },
    {
      "id": 389,
      "directoryName": "未命名目录测试",
      "parentId": 0,
      "qrcodeNum": 0,
      "qrcodeNumTotal": 0,
      "orderNum": 47,
      "children": [
        {
          "id": 390,
          "directoryName": "未命名目录士",
          "parentId": 389,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 0,
          "children": [
            
          ]
        },
        {
          "id": 391,
          "directoryName": "啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦12313123123123123124354654",
          "parentId": 389,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 1,
          "children": [
            
          ]
        }
      ]
    },
    {
      "id": 392,
      "directoryName": "未命名目录wqewqe",
      "parentId": 0,
      "qrcodeNum": 0,
      "qrcodeNumTotal": 0,
      "orderNum": 48,
      "children": [
        
      ]
    },
    {
      "id": 393,
      "directoryName": "未命名目录sdjfljasdfjsd",
      "parentId": 0,
      "qrcodeNum": 0,
      "qrcodeNumTotal": 0,
      "orderNum": 49,
      "children": [
        
      ]
    },
    {
      "id": 394,
      "directoryName": "未命名目录ddd",
      "parentId": 0,
      "qrcodeNum": 0,
      "qrcodeNumTotal": 0,
      "orderNum": 50,
      "children": [
        {
          "id": 400,
          "directoryName": "未命名目录",
          "parentId": 394,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 0,
          "children": [
            {
              "id": 401,
              "directoryName": "未命名目录12",
              "parentId": 400,
              "qrcodeNum": 0,
              "qrcodeNumTotal": 0,
              "orderNum": 0,
              "children": [
                
              ]
            }
          ]
        },
        {
          "id": 402,
          "directoryName": "未命名目录1234",
          "parentId": 394,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 1,
          "children": [
            {
              "id": 403,
              "directoryName": "未命名目录1212345",
              "parentId": 402,
              "qrcodeNum": 0,
              "qrcodeNumTotal": 0,
              "orderNum": 0,
              "children": [
                
              ]
            }
          ]
        },
        {
          "id": 405,
          "directoryName": "未命名目录12",
          "parentId": 394,
          "qrcodeNum": 0,
          "qrcodeNumTotal": 0,
          "orderNum": 2,
          "children": [
            
          ]
        }
      ]
    }
  ],
  "resultMessage": "成功"
};