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

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

阅读 22.3k
3 个回答

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()

可以加标志位

let commonStr = '';
let flag = true;
arr.forEach((itm, idx) => {
    if(itm > 1 && flag) {
        commonStr += itm;
    } else{
        flag = false;
    }
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏