树视图Java / Java脚本中搜索节点和搜索节点级别

时间:2016-07-29 13:54:23

标签: java treeview

我在树状视图中有一个根节点" A" " A" 节点可能有任意数量的子节点节点等。我必须搜索此树中的节点,并想知道给定树中搜索节点的级别。需要使用Collection框架和核心java或JQuery在java / Java脚本中进行逻辑实现。

bellow是我需要搜索的JSON数据。

var data=[{"id":"a","children":[{"id":"b","children":[{"id":"c","children":[{"id":"f","children":[{"id":"h"}]}]},{"id":"d"},{"id":"e"}]}]}]

这里是上面的JSON如果我想获得id f 的对象,我使用方法 findNode(data," f")给我节点 f 的对象,但我也想要节点 f 的等级,这是3级,我怎么能得到它。并建议我搜索节点的另一种方法,这将提高搜索性能,这种方法非常慢,因为递归我必须在数据库中获取java中的下一条记录,在java脚本中数据/ JSON的数量将变大,可能导致崩溃浏览器。

function findNode(node, nodeId) {
    var childrenLen, found;
    if (node.id === nodeId) {
        return node;
    } else if (node.children) {
        childrenLen = node.children.length;
        while(childrenLen--) {
            found = findNode(node.children[childrenLen], nodeId);
            if(found) {
                return found;
            }
        }
    }
}

0 个答案:

没有答案