Js跳出两级循环方法代码实例

循环时最耗费资源的操作,任意一点小小的损耗都会被成倍放大,从而影响到程序整体运行的效率。一下两个因素会影响到循环的性能。

  • 每次迭代做什么
  • 迭代的次数

通过减少这两者中一个或全部的执行时间,可以提高循环的整体性能。如果一次循环需要较长时间,那么多次循环将需要更长时间。

做过一个复杂的验证方法,需要两层each验证之后反正报错的信息。因为双重循环的问题,纠结了很久。

/**
 * 验证input 的值 是否输入 flg:验证成功 false:验证失败
 */
function CommonApplyFormValidate(formId){
   var logInfo = "";
   outerloop://命名外圈语句
  $(formId).find(".mui-input-row").each(function(){
    var success = true;
    var inputObject = $(this);
    inputObject.children().each(function(index, el){
      var cont = $(this);
      var keyId = cont.attr("id");
      if(keyId != null && keyId !="" && keyId !="undefined"){
        console.log("v1-----"+keyId);
        console.log("v1-required----"+cont.attr("required"));
        if(cont.attr("required") != "undefined"){
            //根据标签的类型,设置初始化的值
           var parmValue = "";
           logInfo = $("#"+keyId).attr("al");
            if($("#"+keyId).is('textarea')){
             console.log('textarea');
             parmValue = $("#"+keyId).val();
             logInfo = "请输入"+logInfo;
              //$(keyId).val(dataValue);
            }else if($("#"+keyId).is('input')){
             console.log('input');
             parmValue = $("#"+keyId).val();
             logInfo = "请输入"+logInfo;
              //$(keyId).val(dataValue);
            }else if($("#"+keyId).is('p')){
             console.log('p');
             parmValue = $("#"+keyId).html();
             parmValue = parmValue=="请选择"?"":parmValue;
             logInfo = "请选择"+logInfo;
              //$(keyId).html(dataValue);
            }
            
            if(isnull(parmValue)){
             console.log(11111111111111);
             success = false;
             return false;
            console.log(22222222);
            }
        
        }
      }
      
    });
     return success ;
  
  });
   return logInfo;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。