SOURCE

console 命令行工具 X clear

                    
>
console
var nodes = [
    {
        name: 'a1',
        children: [
            { name: 'a1-c1' },
            { name: 'a1-c2' }
        ]
    },
    {
        name: 'a2',
        children: [
            { name: 'a2-c1' },
            { name: 'a2-c2' },
        ]
    },
    {
        name: 'a3'
    },
    {
        name: 'a4',
        children: [
            {name: 'a4-c1'},
            {name: 'a4-c2'},
            {name: 'a4-c3'},
        ]
    }    
]

function createElm(nodes) {
    let domLi = document.createElement('li')
    domLi.innerText = nodes.name
    if (nodes.children?.length > 0) {
        let children = nodes.children
        let item = createTree(children)
        domLi.appendChild(item)
    }
    return domLi
}

function createTree(nodes) {
    let node = document.createElement('ul')
    for (item of nodes) {
        node.appendChild(createElm(item))
    }
    return node
}

document.querySelector('#app').appendChild(createTree(nodes))
<div id="app"></div>