首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在一个IF条件中有一个each循环,在这个循环中,if ELSE语句再次匹配如何在外部IF条件之外跳转编译器

问我在一个IF条件中有一个each循环,在这个循环中,if ELSE语句再次匹配如何在外部IF条件之外跳转编译器
EN

Stack Overflow用户
提问于 2017-02-06 14:30:26
回答 1查看 1.2K关注 0票数 1

我在一个IF条件中有一个each循环,在这个循环中我又有了IF ELSE条件,如果这个each循环中的if条件匹配,我希望我的编译器跳出外部IF条件,在这个IF条件中,我有这个each循环,

如果我使用return或return false,它会将我抛出每个循环之外,而不是外部If条件之外。

代码语言:javascript
复制
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')) {})条件

EN

回答 1

Stack Overflow用户

发布于 2017-02-06 14:53:05

没有直接的方法可以做到这一点(如果使用forin,这可能会很容易)。尝试按照添加自定义变量(在我的示例中是breakTheLoop)的方式来识别和跳过每个循环中的执行。

编辑:数组1,我中断了foreach并重置了外部if条件中的代码。forloop的数组2,Condition is not broaken,of forloop已完成,并且执行了外部If条件中的代码重置。

​

代码语言:javascript
复制
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");
                }
            }
        }
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42061583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档