我在
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":"validation2",{ "name":"/home/alex/GoSource/test3.txt","children":[ { "name":"validation3","children":[ ] } ] } ] }]}
非常感谢
解决方法
查看JavaScript模板引擎可能更好:
> https://github.com/janl/mustache.js/
> https://github.com/jquery/jquery-tmpl