栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何获取未知JSON层次结构的总深度?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何获取未知JSON层次结构的总深度?

您可以使用递归函数遍历整个树:

getDepth = function (obj) {    var depth = 0;    if (obj.children) {        obj.children.forEach(function (d) { var tmpDepth = getDepth(d) if (tmpDepth > depth) {     depth = tmpDepth }        })    }    return 1 + depth}

该函数的工作原理如下:

  • 如果对象不是叶子(即对象具有children属性),则:
    • 计算每个孩子的深度,保存最大的一个
    • 返回1 +最深的孩子的深度
  • 否则,返回1

jsFiddle:http :
//jsfiddle.net/chrisJamesC/hFTN8/

编辑 使用现代Javascript,该函数可能如下所示:

const getDepth = ({ children }) => 1 +    (children ? Math.max(...children.map(getDepth)) : 0)

jsFiddle:http :
//jsfiddle.net/chrisJamesC/hFTN8/59/



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573589.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号