如何中断循环
在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代替
官方推荐方法:用every和some替代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;
});