1.递归,其实简单说起来就是套娃,对象里面有东西,则把他传递出来,例如
var kk = [
{
name: 123,
children: [
{
name: 123,
children: [
{
name: 123,
},
{
name: 123,
children: [
{
name: 123,
},
{
name: 123,
},
{
name: 123,
}
],
},
{
name: 123,
}
],
},
{
name: 123,
},
{
name: 123,
}
],
},
{
name: 123,
children: [
{
name: 123,
},
{
name: 123,
},
{
name: 123,
}
],
},
{
name: 123,
}
];
2.我想把它在html里面打印出来,先引入一下jqQ,操作方便
function creaMenu(data, con) {
//首先创建一个大的ul
let myul = $('<ul></ul>')
//遍历传进来的对象
data.forEach(function (item, i) {
//创建li,设置里内容放入对象的值
let myli = $('<li></li>').text(item.name)
//判断对象是否有子元素
if (item.children) {
//如果有子元素,则返回true,回调这个函数
creaMenu(item.children, myli)
}
//把含有元素的内容放入大ul中
myul.append(myli)
})
//把ul放入要放的地方
con.append(myul)
}
//调用函数,里面的值为要显示的对象和放入的位置
creaMenu(kk, $('.box'))
则递归函数完成