js數(shù)組循環(huán)符合條件跳出循環(huán)體(for、forEach、some、every)

1,for循環(huán)

for(var i=0;i<10;i++){
console.log(i)
  if(i==3){
    break;
  }
}
輸出結(jié)果為0 1 2 3

此處用break可跳出for循環(huán),如果for循環(huán)外層是一個(gè)函數(shù)體并且之后無任何操作也可用reatun阻止循環(huán)
2,forEach

let list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
try{
  list.forEach(item=>{
  console.log(item)
  if(item===3){
    throw new Error("finish")
  }
})
}catch(e){
  if(e.message!=="finish"){
    console.log(e.message)
  }
}
輸出結(jié)果為0 1 2 3

如果直接使用forEach無論如何是不能跳出循環(huán)的,需要借助try catch拋出錯(cuò)誤來阻止循環(huán)
3、some

let list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
list.some(item=>{
  console.log(item)
  if(item===3){
    return true
  }
})
輸出結(jié)果為0 1 2 3

es6中的some也可實(shí)現(xiàn)此功能。some循環(huán)中只要有一個(gè)符合條件則會(huì)跳出循環(huán)體
4,every

let list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
list.every(item=>{
  console.log(item)
  if(item===3){
    return false
  }else{
    return true
  }
})
輸出結(jié)果為0 1 2 3

es6中的every。every只有全部是真返回的值才會(huì)是真,只要有一個(gè)調(diào)價(jià)為假則會(huì)跳出循環(huán),需要注意every循環(huán)中只有 return true才會(huì)繼續(xù)循環(huán),否則則會(huì)阻止循環(huán)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容