You*_*ufi 1 javascript for-loop angularjs
我有一个递归函数来查找键并返回其值,这是我的代码
$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 ){
var key=children.Value.Key;
break;
}else {
key = $scope.findSelected(children.Children, name);
}
}
return key;
};
Run Code Online (Sandbox Code Playgroud)
其中vName === name我必须返回键,但不能再循环播放,我想我有任何狡猾的事情和功能返回不明
小智 6
请尝试以下方法.它会在每次迭代结束时检查是否已设置密钥,如果已设置密钥,则返回密钥.这也将从较低的递归水平"冒泡".搜索顺序是深度优先的.
$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;
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1571 次 |
| 最近记录: |