some 方法只要函數(shù)返回值是true慢叨,就會(huì)終止循環(huán)
var arr = [2,3,6,9,10];
let flag = false;
arr.some((value)=>{
console.log(value) // 2
if (value % 2 == 0) {
console.log('value-some',value) //只會(huì)執(zhí)行一次 value-some 2
return true
}
})
var arr = [2,3,6,9,10];
let flag = false;
arr.some((value)=>{
console.log(value) // 2 3 6 9 10
if (value % 2 == 0) {
console.log('value-some',value)
//輸出3次 value-some 2 value-some 6 value-some 10
return false
}
})
forEach方法 會(huì)將循環(huán)執(zhí)行到底,就算中間return false,也不會(huì)終止循環(huán)务蝠,需要加個(gè)額外的標(biāo)志拍谐,才能終止程序繼續(xù)進(jìn)行。
forEach 函數(shù)返回值 是undefined馏段,故不能用forEach 函數(shù)返回值當(dāng)做標(biāo)志
var arr = [2,3,6,9,10];
let flag = false; // 本例中赠尾,flag 就是額外的標(biāo)志
function total(){
arr.forEach((value)=>{
console.log(value) // 2 3 6 9 10
if (value % 2 == 0) {
console.log('value',value) // 2 6 10
flag = true;
return false;
}
console.log('執(zhí)行下邊的代碼嗎')
})
if(flag){
return
}
console.log('執(zhí)行下邊的代碼嗎----外邊') // 這句話就不會(huì)執(zhí)行
}