第一题是树结果,获得部门的上下级结构,粘上去,可A    const fun = function (str) {        const arr = str.split(' ');        const trees = JSON.parse(arr[0]);        const answer = JSON.parse(arr[1]);        const root = trees[0]        const result = []        const path = []        path.push(root.deptName)        buildTree(root)        dfs(root)        console.log(result)        function dfs(root) {            for (let i = 0; i < answer.length; i++) {                if (root.set.has(answer[i])) {                    result[i] = path.join('-')                }            }            if (root.subDeptIds.length === 0) return            for (let i = 0; i < root.children.length; i++) {                path.push(root.children[i].deptName)                dfs(root.children[i])                path.pop()            }        }        function buildTree(root) {            root.set = new Set(root.memberIds)            if (root.subDeptIds.length === 0) return            root.children = []            const set = new Set(root.subDeptIds)            for (let i = 0; i < trees.length; i++) {                if (set.has(trees[i].deptId)) {                    root.children.push(trees[i])                    buildTree(trees[i])                }            }        }    }    fun('[{"deptId":1,"deptName":"总部","subDeptIds":[2,3],"memberIds":[1,2]},{"deptId":2,"deptName":"分部1","subDeptIds":[],"memberIds":[3,4,5]},{"deptId":3,"deptName":"分部2","subDeptIds":[4],"memberIds":[6,7,8]},{"deptId":4,"deptName":"分部4","subDeptIds":[],"memberIds":[9,10]}] [2,4,6,9]')第二题很奇怪,输入的是字符串的函数  () => new Promise((resolve, reject) => {resolve(22)});{ "retry": 2 } ,这玩意是字符串,我如何把他们转换成函数呀,我要手写JavaScript解释器吗?乱写A了50%这个第二题。。。
点赞 6
评论 4
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务