JavaScript中forEach循环数组时,如何中途跳出循环?

JavaScript中forEach循环数组时,如何中途跳出循环?

阅读 15.5k
评论
    3 个回答
    • 11.8k

    forEach是函数,不是语法,因此没有直接break的语法

    曲线救国

    var BreakException= {};
    
    try {
        [1,2,3].forEach(function(i) {
            if(i === 2) throw BreakException;
            console.log(i);
        });
    } catch(e) {
        if (e!==BreakException) throw e;
    }
    [1,2,3].some(function(i) {
        if(i == 2) return true;
        console.log(i);
    });

      没有办法中止 forEach 循环。如果要中止,可使用 Array.every 或 Array.some。见下面的例子。

      来自:Array.prototype.forEach()

        • 2
        • 新人请关照

        可以加标志位

        let commonStr = '';
        let flag = true;
        arr.forEach((itm, idx) => {
            if(itm > 1 && flag) {
                commonStr += itm;
            } else{
                flag = false;
            }
        })
        
          撰写回答

          登录后参与交流、获取后续更新提醒