jquery each 和for怎么跳出循环终止本次循环

JavaScript014

jquery each 和for怎么跳出循环终止本次循环,第1张

1、for循环中我们使用continue;终止本次循环计入下一个循环,使用break终止整个循环。

2、而在jquery中 $.each则对应的使用return true 和return false。

break可以跳出switch...case语句,继续执行switch语句后面的内容。break语句还可以跳出循环,也就是结束循环语句的执行。

continue语句的作用为结束本次循环,接着进行下一次是否执行循环的判断。

continue与break的区别是:break是彻底结束循环,而continue是结束本次循环

在leetcode上刷题的时候踩的坑,题目是这样的

简单思考了一下,用最简单的双循环就可以解决问题,于是习惯性用forEach遍历了两次

结果发现函数返回值是undefined

百度了一下,发现是因为forEach多次执行回调函数,回调函数中使用return没法直接终止forEach,只能终止单次的回调。所以return语句在forEach内部是无法跳出循环的。

解决方案:

1.方案一:js针对数组操作的另外两个方法some()与every()

2.方案二:for/while语句老实循环

总结原因还是对forEach方法理解不够到位

是的。forEach的return和return false都是跳过单次循环。而break会报错不能使用。如果真想要跳出循环的话有一个黑科技,用try…catch来实现。var a = [1,2,3,4]try{a.forEach(item=>{if(item == 3){ console.log('finish')throw Error('finish')}console.log(item)})}catch{console.log('catch')}