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 方法跳出循环的文章就介绍到这了,更多相关JavaScript forEach 方法跳出循环内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
微信小程序图片轮播组件gallery slider使用方法详解
这篇文章主要为大家详细介绍了微信小程序图片轮播组件gallery slider的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-01-01
JavaScript中Array.map()的使用与技巧分享(附实际应用代码)
Array.map()适合需要返回新数组、进行链式调用或不修改原数组的场景,它与forEach()的区别在于有返回值,基本语法中,callback函数处理每个元素并返回新值,本文介绍了JavaScript中Array.map()的使用与技巧分享(附实际应用代码),需要的朋友可以参考下2025-02-02
微信小程序实现Session功能及无法获取session问题的解决方法
这篇文章主要介绍了微信小程序实现Session功能及无法获取session问题的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-05-05


最新评论