循环递归函数返回值的问题?

大佬看我这段代码有问题吗》?红框里已经走了,函数返回还是undefined
clipboard.png

阅读 3.2k
3 个回答

1 按照题主这么写,如果确定走 return 那肯定没有问题, 不会出现 undefined
2 出现 undefined情况, (1)没有找到匹配内容

    function findChildDepartment(treeList, roleId){
       for(let i=0;i<treeList.length;i++){
         if(treeList[i].roleId === roleId){
           return treeList[i];
         }
         if(Array.isArray(treeList[i].children)){
           return findChildDepartment(treeList[i].children, roleId);
         }
       } 
      // undefined
    }

示例代码: 预览

let aa = ''
for(){
    if (){
        aa = treeList[i]
        break
    }
}
return aa

return是跳不出循环的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题