返回課程

從物件建立樹狀結構

重要性:5

撰寫一個函式 createTree,從巢狀物件建立巢狀的 ul/li 清單。

例如

let data = {
  "Fish": {
    "trout": {},
    "salmon": {}
  },

  "Tree": {
    "Huge": {
      "sequoia": {},
      "oak": {}
    },
    "Flowering": {
      "apple tree": {},
      "magnolia": {}
    }
  }
};

語法

let container = document.getElementById('container');
createTree(container, data); // creates the tree in the container

結果(樹狀結構)應如下所示

選擇兩種解決此任務的方法之一

  1. 建立樹狀結構的 HTML,然後指派給 container.innerHTML
  2. 建立樹狀結構節點並使用 DOM 方法附加。

如果您能同時執行這兩項,那就太棒了。

附註:樹狀結構不應有「額外的」元素,例如葉子的空 <ul></ul>

開啟一個沙盒來執行此任務。

最簡單的遍歷物件方法是使用遞迴。

  1. 使用 innerHTML 的解決方案.
  2. 使用 DOM 的解決方案.