break for循环和返回值,angularJs中的递归函数

时间:2015-05-13 15:02:19

标签: javascript angularjs for-loop

我有一个递归函数来查找键并返回它的值,这是我的代码

ApplicationController

其中vName === name我必须返回键,但不能再循环播放,我想我有任何狡猾的事情和功能返回不明身份

1 个答案:

答案 0 :(得分:6)

尝试以下方法。它会在每次迭代结束时检查是否已设置密钥,如果已设置密钥,则返回密钥。这也将会起泡#34;从较低的递归水平。搜索顺序是深度优先的。

$scope.findSelected = function (object, name){
    var key;

    for (var i = 0; i < object.length; i++){
         var children =object[i];
         var vName = children.Value.Name;

         if(vName === name ){
              key = children.Value.Key;
         } else {
              key = $scope.findSelected(children.Children, name);
         }

         if(key) return key;
    }
};