Javascript 在每个节点jstree上显示深度级别

Javascript 在每个节点jstree上显示深度级别,javascript,jstree,jstree-search,Javascript,Jstree,Jstree Search,我想显示每个节点上的最大深度级别(在每个节点上的文本旁边),现在我已经对数据进行了如下编码 $('#data').jstree({ 'core' : { 'data' : [ { "text" : "Root node, Depth: 2", "children" : [ { "text" : "Child node 1, Depth: 1",

我想显示每个节点上的最大深度级别(在每个节点上的文本旁边),现在我已经对数据进行了如下编码

    $('#data').jstree({
    'core' : {
        'data' : [
            { "text" : "Root node, Depth: 2", 
                "children" : [
                    { "text" : "Child node 1, Depth: 1", 
                        "children" : [
                            { "text" : "Grand Child node 1, Depth: 0" } 
                        ]},
                    { "text" : "Child node 2,  Depth: 0" }
            ]}
        ]
    }
}); 
深度值是硬编码来说明的,在我的数据中不可用,我喜欢在加载数据时动态生成深度值(最深的子项)

所以简而言之,我们需要像下图这样的东西,其中深度值在来自服务器的数据上不可用。

您的对象核心似乎与
的“文本”错误:“根节点,深度:2”,
但是我假设对象如下,然后您可以使用递归来获取每个节点的深度

var核心={
“数据”:[
{“文本”:“根节点”,
“儿童”:[
{“文本”:“子节点1”,
“儿童”:[
{“文本”:“孙子节点1”}
]},
{“文本”:“子节点2”}
]}
]
};
core.data.forEach(函数(obj){
findDepth(obj);
});
函数findDepth(节点){
var maxDepth=0;
if(node.children!==未定义){
var深度=0;
node.children.forEach(函数(子函数){
深度=findDepth(子级)+1;
maxDepth=深度>maxDepth?深度:maxDepth;
})
}
node.text=node.text+”,深度:“+maxDepth;
返回最大深度;
}

控制台日志(核心)
@DJ,我已经编辑了我的问题,请看一下,我需要深度信息,但数据库中没有,我所要做的就是动态生成它并将它显示在节点的Text@vigneshwar.java.developer我已经编辑了代码,它显示了您想要的深度,您现在必须正确调用递归方法。看看这是否管用。像魅力一样管用:)谢谢