JS中forEach跳出本次迴圈和終止迴圈
阿新 • • 發佈:2020-11-27
1、forEach跳出本次迴圈
可使用return語句跳出本次迴圈,執行下一次迴圈
var arr = [1,2,3,4,5,6]
arr.forEach((item) => {
if (item === 3) {
return
}
console.log(item)
})
將輸出 1 2 4 5 6,3不會輸出
2、forEach終止迴圈
forEach無法通過正常流程(如break)終止迴圈,但可通過丟擲異常的方式實現終止迴圈
var arr = [1,2,3,4,5,6]
try{
arr.forEach((item) => {
if (item === 3) {
throw new Error('End Loop')
}
console.log(item)
})
} catch (e) {
if(e.message === 'End Loop') throw e
}
將只輸出 1 2
注意:在catch語句塊中加了if(e.message === 'End Loop') throw e
這句程式碼會在控制檯報一個錯誤,這個錯誤是try語句塊中丟擲的,如下:
new_file.html:24 Uncaught Error: End Loopat new_file.html:24at Array.forEach ()at new_file.html:22
如果不想看到這個報錯,將if(e.message === 'End Loop') throw e
這一句刪除就行
原文連結:https://blog.csdn.net/daoxiaofei/article/details/108690589