js如何获取tree型数组中当前项的最大深度呢?
const treeData = [
{
key: 'tree1',
children: [
{
key: 'tree2',
children: [
{
key: 'tree3',
children: [
{
key: 'tree4'
}
]
}
]
},
{
key: 'tree5'
}
]
},
{
key: 'tree6'
},
{
key: 'tree7'
}
]
想获得的结果
console.log(getMaxDepthByKey('tree1',treeData)) 结果为3
console.log(getMaxDepthByKey('tree2',treeData)) 结果为2
console.log(getMaxDepthByKey('tree3',treeData)) 结果为1
console.log(getMaxDepthByKey('tree4',treeData)) 结果为0
console.log(getMaxDepthByKey('tree5',treeData)) 结果为0
console.log(getMaxDepthByKey('tree6',treeData)) 结果为0
console.log(getMaxDepthByKey('tree7',treeData)) 结果为0
经典的深度优先搜索,只有一个数据么,如果是的话,可以预处理下:
但是题主对调用方式做了固定,稍微改下即可