我在IF条件中有一个每个循环,如果IF ELSE语句匹配如何在外部IF条件之外跳转编译器,则再次在此循环中

时间:2017-02-06 06:30:26

标签: javascript jquery

我在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')){})条件

1 个答案:

答案 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;
&#13;
&#13;