请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

在function recursiveRenderDeptSelect(deptList,level)里的判断条件是不是有重复的地方的?

该函数的第二行已经判断了deptList && deptList.length >0,后面的递归调用的时候前面又加了这个判断条件,这里应该没有必要吧。老师您之前的生成部门树的递归function里,调用递归的时候也没有加这个判断条件,只是在开始的时候判断了一次。这个条件应该已经可以让递归结束的条件了。不知道我理解是不是正确的?

正在回答

1回答

你好,两次判断要做的事情其实是不一样的,方法进来时的判断是保证需要有数据处理时才继续,准备递归下一层判断是保证有数据需要继续处理时才递归。对于某些数据而言,这个判断确实会有些重复,但是这样写完表达的语义确是最清楚的。

省略第二个的话,会让许多不需要进入下一层的进入到下一层,虽然没什么影响,但是会增加一层变量堆栈的保存,最直接的就是多消耗一些内存。

0 回复 有任何疑惑可以回复我~
  • 提问者 北斗神拳1984 #1
    非常感谢!理解了,也就是说,第二个判断可以在这次调用就可以退出了,不需要再增加一次递归调用。
    回复 有任何疑惑可以回复我~ 2018-08-25 17:02:26
  • Jimin 回复 提问者 北斗神拳1984 #2
    嗯,是的
    回复 有任何疑惑可以回复我~ 2018-08-25 20:27:50
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号