繁体   English   中英

二维数组到JsTree兼容JSON

[英]2D Array to JsTree compatible JSON

我目前有一个JavaScript函数,可以接受一维数组并将其添加到树对象中。

        var tree = {}

        function addToTree(tree, arr) { 
            for (var i = 0, length = arr.length; i < length - 1; i++) {
                tree = tree[arr[i]] = tree[arr[i]] || {};
            } 
            tree[arr[i]] = null;
        }

        addToTree(tree, ["a", "b", "c", "f"])
        addToTree(tree, ["a", "b", "d", "h", "l"])

我希望有人可以帮我格式化它,以便它将对象返回到与JSTree兼容的对象,可以在这里找到: https ://www.jstree.com/docs/json/

对于数组["a", "b", "c", "f"]中的每个元素,您首先需要创建一个节点(一个与JSTree兼容的节点),然后将该节点添加到我们正在构建的json对象tree中。

function createTreeNode(value) { 
    return {'text': value};
}

现在函数addToTree可以是

var tree = {'core': {'data': []}};     //This initialization is needed

function addToTree(tree, arr) {
    for (var i = 0; i < arr.length; i++) {
        node = createTreeNode(arr[i]);
        tree.core.data.push(node);
    }
}

addToTree(tree, ["a", "b", "c", "f"]);
addToTree(tree, ["a", "b", "d", "h", "l"]);

顺便说一句:如果您使用的是BootStrap,请考虑Jonmiles树

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM