我正在学习JavaScript,并尝试解决一个问题,该问题在https://javascript.info/modifying-document#create-a-tree-from-the-object给出。
问题是从给定的嵌套对象创建嵌套的ul / li。
以下是我的代码:
这将产生以下输出 而期望的输出如下所示: 我的代码有什么问题?我无法找到逻辑上的任何错误。
问题是从给定的嵌套对象创建嵌套的ul / li。
以下是我的代码:
let data =
{
"Fish": {
"trout": {},
"salmon": {}
},
"Tree": {
"Huge": {
"sequoia": {},
"oak": {}
},
"Flowering": {
"redbud": {},
"magnolia": {}
}
}
};
function createTree(data,key=null,parent_element=document.body){
if(Object.keys(data).length){
if(key){
li = document.createElement('li');
li.textContent = key;
li = parent_element.append(li);
}
ul = document.createElement('ul');
parent_element.append(ul);
for(let key in data){
createTree(data[key],key,ul);
}
return
}
li = document.createElement('li');
li.textContent = key;
parent_element.append(li);
return;
}
createTree(data);
这将产生以下输出 而期望的输出如下所示: 我的代码有什么问题?我无法找到逻辑上的任何错误。