ES6-数组遍历符合条件跳出循环
JS在for循环遍历时,在满足if条件判断后依然重复进行循环直至循环结束,为结局此问题,有三种解决方法。
1. try...catch捕获异常
try {
var array = ["first","second","third","fourth"];
array.forEach((item,index) => {
if (item == "third") {
var a = aaaa;// first second 后就报错,就跳出循环了
throw new Error("ending");//报错,就跳出循环
} else {
log(item);
}
})
} catch(e) {
if (e.message == "ending") {
log("结束了") ;
} else {
log(e.message);
}
}
2. some循环(true)
满足条件后return true
跳出循环
var arr = [1,2,3,4,5];
var num = 3;
arr.some(function(v){
if(v == num) {
return true;
}
console.log(v);
});
3. every循环(false)
满足条件后return false
跳出循环
var arr = [1,2,3,4,5];
var num = 3;
arr.every(function(v){
if(v == num) {
return false;
}else{
console.log(v);
return true;
}
});