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;
}
});