如何打破 IF 语句中的每个循环? [复制]

Posted

技术标签:

【中文标题】如何打破 IF 语句中的每个循环? [复制]【英文标题】:How to break out of each loop within an IF statement? [duplicate] 【发布时间】:2016-04-10 08:14:01 【问题描述】:

我有一个函数可以遍历多个表格单元格,并根据文本框或选择框的选定值检查它们的值。我有一个问题,如果我在 IF 语句中达到某个点,我想跳出每个循环,但我不知道该怎么做。我研究过使用标签,但我认为它们不适用于每个语句,我认为我也不能使用 break; 行。

JQuery:

function CheckIfPermissionExists(IsEditRole, IsPreviousPermission, DynamicElementToAdd) 
        var count = 0;
        $('.PermissionName').each(function () 
            if (IsPreviousPermission == true) 
                var PermissionNameToAdd = $('#PermissionNameSelectBox').find(":selected").val();
                if ($(this).text() == PermissionNameToAdd) 
                    $('#CreateErrorMessage').text("Please choose a different permission as this one already exists");
                    $('#CreateErrorMessage').css("display", "block");
//Break out of each here
                    return false;
                

                else if (count < 1) 
                    AddIntoCreateTable(IsEditRole, IsPreviousPermission, DynamicElementToAdd);
                    count++;
                
            
            else 
                var PermissionNameToAdd = $('#PermissionNameTextBox').val();
                if ($(this).text() == PermissionNameToAdd) 
                    $('#CreateErrorMessage').text("Please choose a different permission as this one already exists");
                    $('#CreateErrorMessage').css("display", "block");
                    return false;
//Break out of each here
                
                else if (count < 1) 
                    AddIntoCreateTable(IsEditRole, IsPreviousPermission, DynamicElementToAdd);
                    count++;
                
            
        );
    

【问题讨论】:

return false; 应该作为每个函数内部的中断。你的具体问题是什么? @RajaprabhuAravindasamy 我不认为打破了每个,我认为它打破了 IF 声明 在原生 javascript 中使用 .some 怎么样? Source 【参考方案1】:

break; 是您可以在 while (...)for (...) 中执行的操作 循环,但你在一个函数中。退出函数的正确方法 是使用return

如果您希望.each() 循环立即停止,您应该return false

Source

【讨论】:

我的循环怎么会继续呢?我已经返回 false 抱歉,我认为我没有从上次迭代中保存我的代码。我保存并刷新它并且它工作。我的坏 @AndrewKilburn 我不知道,你确定它进入了if 条件吗?【参考方案2】:

要中断 $.each 循环,您必须在循环回调中返回 false。

返回 true 会跳到下一次迭代,相当于正常循环中的 continue。

How to break out of jQuery each Loop

【讨论】:

以上是关于如何打破 IF 语句中的每个循环? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何打破 Java 中的嵌套循环?

如何打破 webpack 钩子中的循环

如何打破 Dart 中的嵌套循环

如何退出两个嵌套循环? [复制]

python中的if循环怎么样?

ArrayList、for 循环和 if 语句的问题 - 为列表中的每个项目打印行