选择题主要不会的是Promise和一些Web安全的知识。

编程题:

  1. 考察bfs

代码:

function bfs(node) {
    var arr = [];
    if(node != null) {
        var queue = [];
        queue.unshift(node);
        while(queue.length != 0) {
            var item = queue.shift();
            arr.push(item);
            var children = item.children;
            for(var i=0; i<children.length; ++i) {
                queue.push(children[i]);
            }
        }
    }
    return arr;
}
  1. 考察建树、dfs、递归

输入:

[ { id:1, value:'1', parentId:3 }, { id:2, value:'2', parentId:0 }, { id:3, value:'3', parentId:0 }, { id:4, value:'4', parentId:2  }, { id:5, value:'5', parentId:2  } ]

输出:

{
    children: [
        {
            children: [
                {
                    children:[],
                    id: 4,
                    value: '4'
                },
                {
                    children:[],
                    id: 5,
                    value: '5'
                }
            ],
            id: 2,
            value: '2'
        },
        {
            children: [
                {
                    children:[],
                    id: 1,
                    value: '1'
                }
            ],
            id: 3,
            value: '3',
        }
    ],
    id: 0,
    value: '0' 
}

代码:

 function bfs(node) {
    var arr = [];
    if(node != null) {
        var queue = [];
        queue.unshift(node);
        while(queue.length != 0) {
            var item = queue.shift();
            arr.push(item);
            var children = item.children;
            for(var i=0; i<children.length; ++i) {
                queue.push(children[i]);
            }
        }
    }
    return arr;
}

糖糖
114 声望2 粉丝