JavaScript forEach 方法跳出循环
生活随笔
收集整理的這篇文章主要介紹了
JavaScript forEach 方法跳出循环
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
for循環
JavaScript中,for循環可以使用 break 和 continue 來跳出:
- continue:跳出本次循環
- break:結束循環
for (let i = 0; i < 10; i++) {
if (i === 1) {
// 跳出本次循環,不會打印1
continue
}
if (i === 3) {
// 結束循環,不會打印3和之后的數字
break
}
// 輸出0 2
console.log(i)
}
forEach循環
除了for循環,常用的forEach如何退出呢?
const numbers = [1, 2, 3, 4, 5]
numbers.forEach(number => {
if (number === 2) {
// 跳出整個循環
break // SyntaxError: Illegal break statement
}
console.log(number)
})
可以看到,直接使用break,會報非法中斷語句錯誤
再試試 continue :
numbers.forEach(number => {
if (number === 2) {
// 跳出當前循環
continue // SyntaxError: Illegal continue statement: no surrounding iteration statement
}
console.log(number)
})
可以看到同樣報錯,continue不能在非循環語句中,原因是forEach的參數是一個回調函數,并不是循環語句,所以無法執行continue語句
具體可以參考:SyntaxError: continue must be inside loop - JavaScript | MDN
里面也提到了解決方法,使用 return 退出當前循環,以及使用 for of代替forEach
numbers.forEach(number => {
if (number === 2) {
// 跳出當前循環
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 來跳出循環應該如何操作呢,上面文檔中沒有提到,但可以使用 try catch來實現:
try {
numbers.forEach(number => {
if (number === 2) {
throw new Error()
}
console.log(number) // 1
})
} catch (error) {
console.log('捕獲到錯誤')
}
綜上,使用forEach時,使用 return 跳出當前循環,使用 try catch 跳出整個循環。
總結
以上是生活随笔為你收集整理的JavaScript forEach 方法跳出循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win11环境Mecab日语分词和词性分
- 下一篇: 设计模式(十九)观察者