var data = [ { "chapterName":"第一章", "childrenChapterList":[ { "chapterName":"第一节", "childrenChapterList":[ { "chapterName": "123", "childrenChapterList":[] }, { "chapterName": "123", "childrenChapterList":[] } ] }, {"chapterName":"第二节"} ], }, { "chapterName":"第二章", "childrenChapterList":[ { "chapterName":"第是节", "childrenChapterList":[ { "chapterName": "123", "childrenChapterList":[] }, { "chapterName": "123", "childrenChapterList":[] } ] }, ], "orderNum":2, "parentId":"-1" } ]
我有以上这个一个data数据,想要把他们遍历渲染出来,不确定有多少个childrenChapterList数组,所以采用递归的写法,语法如下:
var menus = ''; function func (data) { for(var i =0;i<data.length;i++){ if(data[i].childrenChapterList){ //判断childrenChapterList下是否还有数据,避免进入死循环 menus += '<ul>'; menus += '<li>' + data[i].chapterName; console.log(data[i]); func(data[i].childrenChapterList) menus += '</li>'; menus += '</ul>'; } } } func(data) $(".box").html(menus);