Skip to main content

如何中断循环

forEach中用return不会返回,函数继续执行。可以通过下列方法来中断forEach的循环。

一、try...catch...

使用try监视代码块,在需要中断的地方抛出异常

// try-catch方法跳出forEach循环
const aa = [1, 2, 3];

try {
aa.forEach(function (item) {
console.log(item);
throw 'over';
});
} catch (e) {
console.log(e);
}

二、every或者some代替

官方推荐方法:用everysome替代forEach函数,every在碰到return false的时候,中止循环。some在碰到return true的时候,中止循环。

const aa = [1, 2, 3];

// every
aa.every(function (x) {
console.log(x);
if (x === 2) {
return false;
}
return true;
});

// some
aa.some(function (x) {
console.log(x);

if (x === 2) {
return true;
}
return false;
});