无论工作上或是学习上,用过的知识点总是容易忘记,于是略作记录,方便你我他。
说起跳出循环,第一时间想起的是 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 方法。
个人见解,难免有错漏,望不吝赐教