Ale*_*ini 3 javascript jquery for-loop coding-style
我在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()}
Run Code Online (Sandbox Code Playgroud)
这是一个示例数据元素
{"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":[
]
}
]
}
]
}]}
Run Code Online (Sandbox Code Playgroud)
非常感谢
查看JavaScript模板引擎可能更好: