function checkFieldsValidation () {
var VFflag =true; //Validation Failed Flag - true: not failed, False - failed
assessmentForm.Objectives.forEach(function(o){
if (VFflag){
o.component.Fields.forEach(function(f){
if (VFflag){
if (f.IsRequired ){
for (var i in $scope.responses )
{
if( $scope.responses[i].objectives[o.relationship.ActivityRelationshipID][f.FieldID].value.length>0){
VFflag=VFflag;
}
else
{
var VFparIndex=i;
var VFActivityRelationshipID=o.relationship.ActivityRelationshipID;
var VFFieldID = f.FieldID;
VFflag=false;
return;
}
}
}
}
else {return;}
}
)
} else {return;}
}
)
return [VFflag,VFparIndex,VFActivityRelationshipID,VFFieldID];
}
TLDR:使用.every
而不是.foreach
。
从foreach上的MDN页面:
注意:没有办法停止或中断forEach循环。解决方案是使用Array.Every或Array.Some。
function isBigEnough(element, index, array) {
return (element >= 10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
当前您正在定义匿名函数
function(o){ .... }
在循环中使用。这意味着foreach
调用正在接收该函数,并且对于数组中的每个项,它以当前数组项作为参数调用该函数。
在上面的例子中,也发生了同样的情况;让我们做得更简单一些:
var numbers = [12, 5, 8, 130, 44];
var allValid = numbers.every(function(num) { return (num > 10) });
我有一个这样的数组 我想做的是前面的模型,为其数量绘制徽标,因此三星=3,索尼=7,以此类推,将绘制3个索尼徽标和7个三星徽标。 我想出了这样的办法 但是当然,所有这些都是为了每个数组条目,呼应出名称,所以我最终打印了5个三星,打印了5个索尼,等等。 如何使其使用 qty 数组的值而不是条目数?
这是我的代码。我遇到的问题是,我希望将HP在我的PHP代码中的数字转换为我的HP HTML代码,以及与Cylinder相同的内容。我已经想好了其他的东西,但说到这一部分我就卡住了
我的代码有一个问题,它有两个嵌套的foreach循环: 所以我在“消息”中有2个条目,在“评论”中有4个条目,第一个条目为“消息”,第二个条目为2。我想要: 消息1-评论1-评论2 消息2-注释3-注释4 这就是我所拥有的: 消息1-评论1-评论2 消息2-注释1-注释2-注释3-注释4 我搜索了两个小时,在mysqli中没有找到解决方案:((当我找到时 mysqli_data_seek($com
我已经在下面编写了简单的嵌套For循环; 在我的Android设备或模拟器中运行此操作,或的最大值应为和。 然而,代码似乎在max和max时退出(至少吐司消失了)。 对于较低的和值,它可以正常工作。我是不是遇到了内存问题或者发生了什么?
我正在寻找一种用函数式编程方法替换嵌套foreach循环的方法。情况是这样的: 目前我的代码是这样的: 这将生成如下所示的输出: 有谁知道如何用函数式编程替代方案替换foreach代码块?
我正在努力返回嵌套在函数中的一个promise(或多个promise),该函数嵌套在函数中。 我认为最好通过查看代码来缠绕你的头,所以这里是: