中断递归函数并返回Javascript中的值
我已经编写了这样一个javascript函数。但是我想当一个cretain条件满足时,函数将不会执行,这意味着它将中断并返回一个true-false-like状态中断递归函数并返回Javascript中的值,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我已经编写了这样一个javascript函数。但是我想当一个cretain条件满足时,函数将不会执行,这意味着它将中断并返回一个true-false-like状态 var ActionAttributes = function (data) { var status = true; var attrKey = data.AttributeKey(); //Condition to exit if (attrKey==''|
var ActionAttributes = function (data)
{
var status = true;
var attrKey = data.AttributeKey();
//Condition to exit
if (attrKey==''||attrKey==null)
{
status = false;
return false;
}
for (var i = 0; i < data.Children().length; i++)
{
var childData = data.Children()[i];
ActionAttributes(childData);
}
return status;
}
var ActionAttributes=函数(数据)
{
var状态=真;
var attrKey=data.AttributeKey();
//退出条件
if(attrKey=''| | attrKey==null)
{
状态=假;
返回false;
}
对于(var i=0;i
对于循环,您需要在中设置中断条件。您只是在调用它,处理返回的状态
var ActionAttributes = function(data) {
var status = true;
var attrKey = data.AttributeKey();
//Condition to exit
if (attrKey == '' || attrKey == null) {
status = false;
return false;
}
for (var i = 0; i < data.Children().length; i++) {
var childData = data.Children()[i];
//You need to break loop here
//Add appropriate condition here
if (ActionAttributes(childData) == false) {
return false;
}
}
return status;
}
var ActionAttributes=函数(数据){
var状态=真;
var attrKey=data.AttributeKey();
//退出条件
if(attrKey=''| | attrKey==null){
状态=假;
返回false;
}
对于(var i=0;i
好吧,递归一开始就不是很有用
在循环中调用ActionAttributes的递归,但从不处理返回的状态。因此,除非第一个对象满足退出条件,否则第一个调用方将始终接收true
您应该将ActionAttributes返回的值存储到status中,然后在返回值为false时立即退出循环。不,现在请阅读几遍,不要满足您的要求。你能澄清一下吗?返回ActionAttributes(childData)代码>,您需要在语句ActionAttributes(childData)