js tree 获取树节点深度

作者: tww844475003 分类: 前端开发 发布时间: 2021-05-24 21:08
function getTreeDeep(data) {
      let arr = [];
      arr.push(data);
      let depth = 0;

      while (arr.length > 0) {
        let temp = [];
        for (let i = 0; i < arr.length; i++) {
          temp.push(arr[i]);
        }

        arr = [];
        for (let i = 0; i < temp.length; i++) {
          if (temp[i].children && temp[i].children.length > 0) {
            for (let j = 0; j < temp[i].children.length; j++) {
              arr.push(temp[i].children[j]);
            }
          }
        }

        if (arr.length >= 0) {
          depth++;
        }
      }

      return depth;
    }

    var treeData = {
      id: 1,
      label: 1,
      children: [
        {
          id: 2,
          lable: 2
        },
        {
          id: 3,
          label: 3,
          children: [
            {
              id: 4,
              label: 4
            },
            {
              id: 5,
              label: 5
            }
          ]
        }
      ]
    }

    var deep = getTreeDeep(treeData)
    console.log(deep);
前端开发那点事
微信公众号搜索“前端开发那点事”

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注