1
我有一個需要轉換爲json格式的列表。將對象列表轉換爲json樹結構
這..
var sourceList = [
{ title: "item-1", indent: "0" },
{ title: "item-2", indent: "0" },
{ title: "item-3", indent: "0", folder: true },
{ title: "item-4", indent: "1" },
{ title: "item-5", indent: "1", folder: true },
{ title: "item-6", indent: "2" },
{ title: "item-7", indent: "2" },
{ title: "item-8", indent: "0" }
];
此..
var targetJson = [
{ title: "item-1" },
{ title: "item-2" },
{ title: "item-3", folder: true, children: [
{ title: "item-4" },
{ title: "item-5", folder: true, children: [
{ title: "item-6" },
{ title: "item-7" }
]},
]},
{ title: "item-8" }
];
使得結果可被用於初始化的樹結構等的下方。
item-1
item-2
item-3
.. item-4
.. item-5
.... item-6
.... item-7
item-8
每個源對象的'indent'屬性決定了它相對於前一個對象的位置。
就像一個對象的縮進比前一個更大,那麼它將被視爲前一個孩子,如果它與之前的縮進相同,那麼它將被視爲前一個的兄弟。 因此,對於具有子項目的節點而言,兒童財產和文件夾屬性將發生。
其中一個挑戰是'第8項',它在0級比前一級在2級。
需要一個解決方案,最好在JavaScript中。
不錯..這就像一個魅力工作。 – Bibin