以下のように3つの異なるオブジェクト/ノードがあり、3つのノードの和集合(一意のツリーリスト)であるfinalObj/ノードを形成しようとしています。
テキストまたはIDに基づいて3つのオブジェクト(ノード)を結合できるツリービューのメソッドはありますか?
First node:
[ { text: "TreeRoot", items: [
{ text: "Subgroup1" },
{ text: "Subgroup2" }
]}]
Second Node:
[ { text: "TreeRoot", items: [
{ text: "Subgroup3" }
]}]
Third node:
[{ text: "Subgroup3",
items: [ {
text: "subgroup5",
items: [ {
text: "subgroup6",
items: [ {
text: "subgroup7",
items: [ {
text: "subgroup8"
}]
}] }]
}]}]
Final expected node (after merging):
var finalObj= [ { text: "TreeRoot", items: [
{ text: "Subgroup1" },
{ text: "Subgroup2" },
{ text: "Subgroup3",
items: [ {
text: "subgroup5",
items: [ {
text: "subgroup6",
items: [ {
text: "subgroup7",
items: [ {
text: "subgroup8"
}]
}] }]
}]}]}]
編集:
以下の解決策は、他のタイプのノードでは機能しません。
EXの場合:
var node1 = [
{ text : "TreeRoot",
id:0,
items: [
{ text: "Subgroup1",id:1 },
{ text: "Subgroup2", id:2}
]
}
];
var node2 = [
{
text : "TreeRoot",
id:0,
items: [
{ text: "Subgroup3" ,
id:3}
]
}
];
var node3 = [
{
text : "TreeRoot",
id:0,
items: [
{
text : "Subgroup2",
id:2,
items: [
{
text : "subgroup6",
id:6,
items: [
{
text : "subgroup7",
id:7,
items: [
{
text: "subgroup8",
id:8
}
]
}
]
}
]
}
]
}
];
上記の例では、最初はツリールートだけが表示されます。展開すると、subgroup1,2,3 ...だけが表示され、subgroup2を展開すると、subgroup6,7,8が表示されるはずです。
一意の親ノードと子ノードが必要です。上記の構造を使用すると、Subgroup3という名前の2つの子ノードが得られます。