javascript递归
Posted carry-carry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript递归相关的知识,希望对你有一定的参考价值。
按照html结构输出以下data结构
var data = [
{
name:‘AAA‘,
child:[
{name:‘a1‘,child:[{name:‘a1-1‘},{name:‘a1-2‘}]},
{name:‘a2‘},
{name:‘a3‘,child:[{name:‘a3-1‘},{name:‘a3-2‘,child:[{name:‘a3-2-1‘},{name:‘a3-2-2‘}]}]}
]
},
{
name:‘BBB‘,
child:[{name:‘b1‘},{name:‘b2‘},{name:‘b3‘}]
},
{
name:‘CCC‘,
child:[{name:‘c1‘},{name:‘c2‘},{name:‘c3‘}]
}
]
function recursive(data){
var str = ‘<ul>‘
for(var i=0; i<data.length;i++){
str += "<li>" + data[i].name
if(data[i].child){ //递归的结束条件
str += recursive(data[i].child) //递归调用
}
str += ‘</li>‘
}
str += "</ul>"
return str
}
console.log(recursive(data))
递归使代码更加简洁,解决了多层循环的结构。
以上是关于javascript递归的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 将javascript对象递归输出到div。
来自 Eloquent Javascript 的 Javascript 递归