我在IF条件中有一个每个循环,在这个循环中我再次有IF ELSE条件,如果每个循环中的IF条件匹配我希望我的编译器跳出外部IF条件我在其中每个循环,
如果我使用return或return false,它会将我抛出每个循环之外,而不是在外部IF条件之外。
if (localStorage.getItem('Token')) {
$(".menu-highlight li a").each(function () {
var aTag= $(this).text();
if(route==aTag){
this.router.navigate([route]);
}
else{
return;
}
});
alert('User is already logged In');
}
我希望编译器跳出这个IF(if(localStorage.getItem('Token')){})条件
答案 0 :(得分:0)
每个人都没有直接的方式(如果使用forin,这可能很容易)。尝试按照以下方式添加自定义变量(在我的示例中为breakTheLoop),以识别和跳过每个循环内的执行。
编辑: 数组1,我突破foreach并重置外部if条件内的代码。 数组2,条件没有被破坏,forloop完成并且在外部执行的条件重置。如果条件被执行。
var array1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var array2 = [1, 2, 3, 4, 5];
console.log("Array 1");
sampleFunction(array1);
console.log("Array 2")
sampleFunction(array2);
function sampleFunction(intArray) {
var someFlag = true;
var breakTheLoop = false;
if (someFlag == true) {//First If Condition
console.log("Outer IF Condition");
for (var i = 0; i < intArray.length; i++) {
if ($(this)[0] > 5) {//Inner IF Else Condition
console.log("Reached 6, break the loop");
breakTheLoop = true;
break; //Flag to indicate to skip forach execution
}
else {
console.log("Less than 6 : Value - " + intArray[0]);
}
}
if (!breakTheLoop) {
console.log("Outer IF, After For - 1");
console.log("Outer IF, After For - 2");
console.log("Outer IF, After For - 3");
}
}
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;