无限级目录树--递归
//1. 显示全部目录:
let tree = [{
name: 'a'
}, {
name: 'b',
child: [{
name: 'b1'
}]
}, {
name: 'c'
}, {
name: 'd',
child: [{
name: 'd1',
child: [{
name: 'd2',
child: [{
name: 'd3',
child: [{
name: 'b4'
}]
}]
}]
}]
}]
function fn(tree) {
let str = '<ul>'
tree.forEach(item => {
str += '<li>' + item.name + (item.child ? fn(item.child) : '') + '</li>'
})
return str + '</ul>'
}
//window.onload的作用是把js代码放到最后加载(因为js放在头部,如果放在body中就不需要要它)
window.onload = function() {
document.body.innerHTML = fn(tree)
}