【问题标题】:How to break an $.each() loop when conditions have been met [duplicate]满足条件时如何打破 $.each() 循环[重复]
【发布时间】:2020-04-21 11:26:13
【问题描述】:

关于在满足条件后如何停止 .each() 循环,我有一个相当基本的询问。我有一个通知计数器,显示给定时间范围内的问题数量。它有效,但如果我选择另一个选项,它会添加通知,这不好。以下是 24 小时内的问题示例。我还可以选择一周零 30 天内的问题。

例如,如果我选择 24 小时,它将显示:2

如果我当时选择一周,它将是 12(一周 = 10)

我试过在循环结束时'return false',但没有成功。

如果你能帮助我,请告诉我。谢谢。

// # of Issues within 24 hours
            var newIssues, openIssues, closedIssues;
            newIssues = 0;
            openIssues = 0;
            closedIssues = 0;

            $('.newIssueCount').text('-');
            $('.openIssueCount').text('-');
            $('.closedIssueCount').text('-');

            $('ul.timeFrameRange li:nth-child(1)').click( function(e) {
                e.preventDefault();             
                $.each(parsedData, function (index, item) {
                if (moment(item.CreatedDate).isAfter(twentyFourHours)) {
                        newIssues++;
                        $('.newIssueCount').html(newIssues);

                        if (item.IsClosed == false) {
                            openIssues++;
                            $('.openIssueCount').html(openIssues);
                        }
                        else if (item.IsClosed == true) {
                            closedIssues++;
                            $('.closedIssueCount').html(closedIssues);
                        }
                        else if (newIssues == 0 || openIssues == 0 || closedIssues == 0) {
                            $('.newIssueCount').html('0');
                            $('.openIssueCount').html('0');
                            $('.closedIssueCount').html('0');
                        }
                    }

                    return false;
                });
            });

【问题讨论】:

  • 返回假;应该做的伎俩。我在您的代码中没有看到它,您可以粘贴它吗?
  • 该条件是否曾经评估为真?您是否尝试在 return false 之前放置一个 console.log 以查看它是否到达那里?
  • @Pitto 它确实评估为真,因为计数器在满足条件时将所有问题加起来。

标签: javascript jquery frontend


【解决方案1】:

请尝试从匿名函数中返回 false:

  if (your_condition) return false;

【讨论】:

    猜你喜欢
    • 2016-01-20
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 2021-12-14
    • 2020-01-08
    相关资源
    最近更新 更多