Напишите функцию, которая создаёт вложенный список UL/LI (дерево) из объекта. Как я понимаю функция createTreeText(obj) обрабатывает вложенные друг в друга объекты.Непонятно логика работы в блоке if. И возврат пустой строки будет в том случае если узел
var data = {
"Рыбы": {
"Форель": {},
"Щука": {}
},
"Деревья": {
"Хвойные": {
"Лиственница": {},
"Ель": {}
},
"Цветковые": {
"Берёза": {},
"Тополь": {}
}
}
};
function createTree(container, obj) {
container.innerHTML = createTreeText(obj);
}
function createTreeText(obj) { // отдельная рекурсивная функция
var li = '';
for (var key in obj) {
li += '<li>' + key + createTreeText(obj[key]) + '</li>';
}
if (li) { //(1)
var ul = '<ul>' + li + '</ul>'
}
return ul || '';
}
var container = document.getElementById('container');
createTree(container, data);
<div id="container"></div>
В блоке if создается разметка тега , но если узел пустой {}, то соответственно переменная li будет равна пустой строке. Если это так то тогда не создастся переменная ul.
Далее есть еще одно условие, но не очевидное (ul || ''). Если переменная ul не определена, а определяется она в блоке if, то вернуть пустую строку. Так что да, если узел пустой, то вернется пустая строка.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Не могу понять почему не работает роутинг на деплое
Пытаюсь реализовать приложение на ReactJS с использованием json-сервераЗахожу на localhost:3001 и localhost:3000 - пустота
Пытаюсь отправить форму через axios, судя по devtools форма уходит, все заголовки и request payload там есть, но в php файле принять данные не получаетсяМассив...