js递归

<div class="lists">

</div>

<!-- 递归 -->
var data=[
{name:'a1',
child:[
{name:"a1-1"},
{name:"a1-2"
,child:[
{name:"a1--1"}
]
}
]
},
{
name:"a2",
child:[
{name:"a2-1",
child:[{name:"a2-11"},{name:"a2-21"}]
}
]
},
{name:"a4"}
];

var lists=$('.lists');
function digui(ele,arr){

var strul=$("<ul></ul>");

for(var i=0;i<arr.length;i++){
// 没有子节点child的情况
var strli=$("<li>"+arr[i].name+"</li>");
strul.append(strli);
// 有子节点child的情况
if(arr[i].child){
// 子节点导入到strli里 循环的数据变为里面的child子节点
digui(strli,arr[i].child)
}
}
// 子节点导入strli 的strul里
ele.append(strul)
}
digui(lists,data);
原文地址:https://www.cnblogs.com/yaomengli/p/10143406.html