52 lines
No EOL
984 B
HTML
Executable file
52 lines
No EOL
984 B
HTML
Executable file
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="container"></div>
|
|
|
|
<script>
|
|
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) {
|
|
var ul = '<ul>' + li + '</ul>'
|
|
}
|
|
return ul || '';
|
|
}
|
|
|
|
var container = document.getElementById('container');
|
|
createTree(container, data);
|
|
</script>
|
|
</body>
|
|
|
|
</html> |