我目前有一个javascript函数,它接受1维数组并将它们添加到树对象中。
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/
答案 0 :(得分: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"]);
BTW:如果您使用的是BootStrap,请考虑jonmiles tree