44 lines
786 B
HTML
44 lines
786 B
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
|
|
<div id="container"></div>
|
|
|
|
<script>
|
|
let data = {
|
|
"Fish": {
|
|
"trout": {},
|
|
"salmon": {}
|
|
},
|
|
|
|
"Tree": {
|
|
"Huge": {
|
|
"sequoia": {},
|
|
"oak": {}
|
|
},
|
|
"Flowering": {
|
|
"redbud": {},
|
|
"magnolia": {}
|
|
}
|
|
}
|
|
};
|
|
|
|
function createTree(container, obj) {
|
|
container.innerHTML = createTreeText(obj);
|
|
}
|
|
|
|
function createTreeText(obj) { // standalone recursive function
|
|
let li = '';
|
|
for (let key in obj) {
|
|
li += '<li>' + key + createTreeText(obj[key]) + '</li>';
|
|
}
|
|
if (li) {
|
|
let ul = '<ul>' + li + '</ul>'
|
|
}
|
|
return ul || '';
|
|
}
|
|
|
|
createTree(container, data);
|
|
</script>
|
|
</body>
|
|
</html>
|