【问题标题】:2D Array to JsTree compatible JSON2D 数组到 JsTree 兼容 JSON
【发布时间】:2015-10-01 18:21:39
【问题描述】:

我目前有一个 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/

【问题讨论】:

    标签: javascript arrays json jstree


    【解决方案1】:

    对于数组["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 tree

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-26
      • 2021-07-20
      • 1970-01-01
      相关资源
      最近更新 更多