常规for循环退出循环方法
在for循环中退出循环有3种方式:return(终止)、break(退出整个循环)、continue(退出当次循环)。
let arr = [0,1,2,3,4,5,6]
for(let i=0;i<array.length;i++){
if(array[i]===6){
//break //退出整个循环
//return //终止程序
continue //退出本次循环
}
}
forEach方法退出循环
需要注意的是,forEach方法循环进程不会被break 和 continue 终止。
forEach 方法循环 可以被 return 终止,相当于for 循环中的 continue,只退出本次循环。
方法1:使用异常处理
const arr = [1, 2, 3, 4, 5, 6, 7];
try {
arr.forEach((num) => {
console.log(num);
if (num === 3) {
throw 'error'; // 抛出自定义异常 终止程序
}
});
} catch (e) {
if (e !== 'error') {
throw e; // 抛出其他异常
}
}
方法2:自义定retun终止阀(类似节流阀)
节流阀的作用是实现节流。
终止阀的作用是实现终止跳出效果。(终止阀的概念是 为了好理解起的,和节流阀同理,都是控制变量)
通过自定义变量 来控制循环主体程序是否被执行,来到达 类终止效果。
这种方法本质上是完成了完整的循环,但是主要的循环逻辑代码受 自定义变量 控制是否执行。
const arr = [1, 2, 3, 4, 5, 6, 7];
let terminate = false;
arr.forEach((num) => {
if (terminate) {
return;
}
console.log(num);
if (num=== 3) {
terminate = true; // 终止循环
}
//
循环体代码
//
//当执行到num = 3后,后续的循环都不会执行到循环体代码处,都将被return 拦截
});