在for循环中执行一次函数

时间:2015-03-31 15:24:31

标签: javascript

我必须使用for循环检查数组列表,然后根据结果执行单个函数,例如

    for(var i=0;i<settingData.length;i++){
        if(settingData[i].a !== '' && $scope.settingData[i].b){
save();
}else{
alert('missing fields');
}
}

如何让save()执行一次?因为当我发出警报时,它会触发几次,因为它在for循环中。我不能把它拿出来,因为我必须检查我的所有阵列..

2 个答案:

答案 0 :(得分:3)

保存功能后添加break

for(var i=0;i<settingData.length;i++){
    if(settingData[i].a !== '' && $scope.settingData[i].b){
        save();
        break;
    }else{
        alert('missing fields');
    }
}

答案 1 :(得分:2)

您可以设置missingFields变量。

var missingFields = false;
for(var i=0;i<settingData.length;i++){
    if(! (settingData[i].a !== '' && $scope.settingData[i].b) ) {
      missingFields = true;
      alert('missing fields');
      break;
    }
}
if (!missingFields) {
  save();
}