0

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

2015-10-16 提问
3 个回答
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);
});
1

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

来自:Array.prototype.forEach()

0

可以加标志位

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

撰写答案

你可能感兴趣的

推广链接