Мы хотим сделать этот проект с открытым исходным кодом доступным для людей во всем мире. Пожалуйста, помогите нам перевести это руководство на другие языки.
КупитьEPUB/PDF
Поделиться
вернуться к уроку

Создайте дерево из объекта

важность: 5

Напишите функцию createTree, которая создаёт вложенный список ul/li из объекта.

Например:

let data = {
 "Рыбы": {
 "форель": {},
 "лосось": {}
 },
 "Деревья": {
 "Огромные": {
 "секвойя": {},
 "дуб": {}
 },
 "Цветковые": {
 "яблоня": {},
 "магнолия": {}
 }
 }
};

Синтаксис:

let container = document.getElementById('container');
createTree(container, data); // создаёт дерево в контейнере

Результат (дерево):

Выберите один из двух способов решения этой задачи:

  1. Создать строку, а затем присвоить через container.innerHTML.
  2. Создавать узлы через методы DOM.

Если получится – сделайте оба.

P.S. Желательно, чтобы в дереве не было лишних элементов, в частности -– пустых <ul></ul> на нижнем уровне.

Открыть песочницу для задачи.

Самый лёгкий способ – это использовать рекурсию.

  1. Решение с innerHTML.
  2. Решение через DOM.

AltStyle によって変換されたページ (->オリジナル) /