如何中断循环
在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;
});