我在 Javascript 中编写的代码不多,但我有以下代码片段,恕我直言,它看起来很可怕,我必须在代码中经常执行此嵌套迭代。有人有更漂亮/更易于阅读的解决方案吗?
function addBrowse(data) {
var list = $('<ul></ul>')
for(i = 0; i < data.list.length; i++) {
var file = list.append('<li class="toLeft">' + data.list[i].name + '</li>')
for(j = 0; j < data.list[i].children.length; j++) {
var db = file.append('<li>' + data.list[i].children[j].name + '</li>')
for(k = 0; k < data.list[i].children[j].children.length; k++)
db.append('<li class="toRight">' + data.list[i].children[j].children[k].name + '</li>')
}
}
$('#browse').append(list).show()}
这是一个示例数据元素
{"file":"","db":"","tbl":"","page":"browse","list":[
{
"name":"/home/alex/GoSource/test1.txt",
"children":[
{
"name":"go",
"children":[
{
"name":"validation1",
"children":[
]
}
]
}
]
},
{
"name":"/home/alex/GoSource/test2.txt",
"children":[
{
"name":"go",
"children":[
{
"name":"validation2",
"children":[
]
}
]
}
]
},
{
"name":"/home/alex/GoSource/test3.txt",
"children":[
{
"name":"go",
"children":[
{
"name":"validation3",
"children":[
]
}
]
}
]
}]}
非常感谢
最佳答案
研究一下 JavaScript 模板引擎可能会更好:
关于JavaScript 嵌套循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4661342/