说起跳出循环,第一时间想起的是 break \ continue,这是经典的for循环。
1、for 循环
先上例子,思考输出结果,体会 break 与 continue 的不同。
1 var arr = [1,2,3,4,5,6] 2 var arrySpecial = new Array(); 3 for (var i = 0; i < arr.length; i++){ 4 if(arr[i]%2==0) 5 { 6 arrySpecial.push(arr[i]); 7 continue; 8 } 9 if(arr[i]%3==0) 10 { 11 arrySpecial.push(arr[i]); 12 break; 13 } 14 } 15 16 console.log(arrySpecial);
continue 结束本次循环,继续执行循环体; break 结束所有循环。在本例中当“2”满足条件后,继续进行下一轮判断,当’3‘满足条件后,break 结束所有循环。
2、forEach
这是ECMAScript 5数组的forEach方法 ,作用是遍历数组,常用的写法:
View Code
案例分析:
var arr = [1,2,3,4,5,6] var arrySpecial = new Array(); arr.forEach(function(e,i){ if(e%2==0) { arrySpecial.push(e); return; } if(e%3==0) { arrySpecial.push(e); return; } }) console.log(arrySpecial);
在forEach中,不能使用 continue 和 break ,可以使用 return 或 return false 跳出循环,效果与 for 中 continue 一样。注意该方法无法一次结束所有循环,需要一次性结束所有循环,还是老老实实使用for方法。
3、$.each()
这是jQuery的方法,用于遍历 DOM时很方便,偷懒必备。
在该方法中,同样是使用 return 或 return false 跳出循环,效果类似 效果与 for 中 break,结束所有循环。有兴趣的同学亲自动手尝试下。
对于跳出循环的方法比较, for方法是可以满足各种场景,但我们也得跟上时代的潮流,在合理的场景下,推荐使用forEach 方法。