双层for循环,检验是否重复

2018-03-28  本文已影响20人  _信仰zmh

双层for循环,拿第几个元素与每一个元素比较,同时索引不等,如果元素相等,就重复,不等就不重复。

性能并不好,不推荐,权当是种思路。

 // 校验 进场人员身份证、进场车辆 身份证、车牌号唯一性,不得有重复
            vm.uniquenessCheck = function(objArr,keyName,tableRepeatPrompt){
                for(var i = 0; i < objArr.length; i++){
                    for(var j = 0; j < objArr.length; j++){
                        if(objArr[i][keyName] ==objArr[j][keyName] && i!=j){
                            toaster.error({title: "提示" , body: tableRepeatPrompt+"列不得有重复!"} );
                            if(keyName == 'personCardId'){
                                vm.checkPersonCardIdUnique = false;
                                return;
                            }
                            if(keyName == 'driverCardId'){
                                vm.checkDriverCardIdUnique = false;
                                return;
                            }
                            if(keyName == 'plateNumber'){
                                vm.checkPlateNumberUnique = false;
                                return;
                            }

                        }
                    }

                }
            }

 // 校验唯一性 身份证、车牌号
         vm.checkIfRepeat = function(){
                vm.checkPersonCardIdUnique = true;
                vm.checkDriverCardIdUnique = true;
                vm.checkPlateNumberUnique = true;
                vm.uniquenessCheck(vm.addPersonData, 'personCardId', "进场人员表格中身份证号");
                vm.uniquenessCheck(vm.driverGridData, 'driverCardId', "进场车辆表格中身份证号");
                vm.uniquenessCheck(vm.driverGridData, 'plateNumber', "进场车辆表格中车牌号");
             
               if( vm.checkPersonCardIdUnique && vm.checkDriverCardIdUnique && vm.checkPlateNumberUnique){
                     // 提交测试
                }
    }
上一篇 下一篇

猜你喜欢

热点阅读