日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaScript forEach 方法跳出循环

發(fā)布時間:2024/1/2 java 32 coder
生活随笔 收集整理的這篇文章主要介紹了 JavaScript forEach 方法跳出循环 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

for循環(huán)

JavaScript中,for循環(huán)可以使用 breakcontinue 來跳出:

  • continue:跳出本次循環(huán)
  • break:結束循環(huán)
for (let i = 0; i < 10; i++) {
  if (i === 1) {
    // 跳出本次循環(huán),不會打印1
    continue
  }
  if (i === 3) {
    // 結束循環(huán),不會打印3和之后的數(shù)字
    break
  }
  // 輸出0 2
  console.log(i)
}

forEach循環(huán)

除了for循環(huán),常用的forEach如何退出呢?

const numbers = [1, 2, 3, 4, 5]
numbers.forEach(number => {
  if (number === 2) {
    // 跳出整個循環(huán)
    break  // SyntaxError: Illegal break statement
  }
    console.log(number)
})

可以看到,直接使用break,會報非法中斷語句錯誤

再試試 continue

numbers.forEach(number => {
  if (number === 2) {
    // 跳出當前循環(huán)
    continue  // SyntaxError: Illegal continue statement: no surrounding iteration statement
  }
    console.log(number)
})

可以看到同樣報錯,continue不能在非循環(huán)語句中,原因是forEach的參數(shù)是一個回調函數(shù),并不是循環(huán)語句,所以無法執(zhí)行continue語句
具體可以參考:SyntaxError: continue must be inside loop - JavaScript | MDN

里面也提到了解決方法,使用 return 退出當前循環(huán),以及使用 for of代替forEach

numbers.forEach(number => {
  if (number === 2) {
    // 跳出當前循環(huán)
    return 
  }
  console.log(number) // 1 3 4 5
}
for (const number of numbers) {
  if (number === 2) {
    continue
  }
  console.log(number) // 1 3 4 5
}

但是就想使用 forEach 來跳出循環(huán)應該如何操作呢,上面文檔中沒有提到,但可以使用 try catch來實現(xiàn):

try {
  numbers.forEach(number => {
    if (number === 2) {
      throw new Error()
    }
    console.log(number) // 1
  })
} catch (error) {
  console.log('捕獲到錯誤')
}

綜上,使用forEach時,使用 return 跳出當前循環(huán),使用 try catch 跳出整個循環(huán)。

總結

以上是生活随笔為你收集整理的JavaScript forEach 方法跳出循环的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。