SOURCE

// DFS
function dfs(node) {
    
    // Do something with current node

    if(node.children.length) {
        for(let i = 0; i < node.children.length; i += 1) {
            const child = node.children[i]
            dfs(child);
        }
    }
}

dfs(root);

// BFS
function bfs(node) {
    let queue = [];
    let result = [];
    queue.push(node);

    while(queue.length) {
        const node = queue.shift();
        // Do something with current node
        if(node.children.length) {
            for(let i = 0; i < node.children.length; i += 1) {
                let child = node.children[i];
                queue.push(child);
            }
        }
    }
}

bfs(root);
console 命令行工具 X clear

                    
>
console