温故而知新 forEach 无法中断(break)的问题

Posted 贝尔塔猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了温故而知新 forEach 无法中断(break)的问题相关的知识,希望对你有一定的参考价值。

forEach无法使用break和return来中断,只能使用throw catch来达到中断的效果了。

var id = (function(){
    // forEach 是无法中断的。除非用这种hack
    try {
        top.document.querySelectorAll(‘.layui-nav-tree a[data-options]‘).forEach(function (e, i) {
             var options = $(e).attr("data-options")
             if (~options.indexOf(window.location.pathname)) {     
                throw new Error(eval(‘(‘ + options + ‘)‘).id)
             }
        });
    } catch(err) {
        return err.message
    }
}());

 

以上是关于温故而知新 forEach 无法中断(break)的问题的主要内容,如果未能解决你的问题,请参考以下文章

PHP致命错误:无法中断/继续

Php 不会在递归 foreach 循环中中断

为啥“继续”在 Foreach-Object 中表现得像“中断”?

foreach跳出循环不往下走

javascript forEach无法break,使用every代替

C# 循环 - 中断与继续