无限级目录树--递归(面试高频考点)

186 阅读1分钟

无限级目录树--递归

//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)
}