计算对象深度的级别

时间:2018-04-24 14:38:18

标签: javascript object

我有一个 javascript 对象,我想计算嵌套深度的数量。

示例对象

答案应该等于4(计数级别深度)

data: {
first: [
  {
    value: '',
    children: [
      {
       value: '',
       children: [
          {
            value: '',
            children: [
              {
                value: '',
                children: [],
              },
              {
                 value: '',
                children: [],
              },
            ],
          },
        ],
      },
    ],
  },
],

1 个答案:

答案 0 :(得分:0)

假设它是一棵树(没有嵌套对象链接到祖先),你可以简单地导航结构

function treeHeight(node) {
    return node.children.reduce(function (maxHeight, node) {
        return Math.max(maxHeight, treeHeight(node) + 1);
    }, 1);
}