递归误区
Posted longsiyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归误区相关的知识,希望对你有一定的参考价值。
$scope.findChid = function(obj,arr){ if(obj && obj.children && obj.children.length>0){ arr.push({ list:obj.children, select:obj.children[0] }); $scope.findChid(obj.children[0], arr); }else{ return arr; } }
obj.children.length>0
这样调用此递归函数将会返回undefine,因为到倒数第二次的返回值就没有保存了,最后的return只是返回给了倒数第二次的调用
$scope.findChid = function(obj,arr){ if(obj && obj.children && obj.children.length>0){ arr.push({ list:obj.children, select:obj.children[0] }); return $scope.findChid(obj.children[0], arr); }else{ return arr; } }
正确的返回
以上是关于递归误区的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript - 代码片段,Snippets,Gist