無論工作上或是學習上,用過的知識點總是容易忘記,於是略作記錄,方便你我他。
說起跳出循環,第一時間想起的是 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方法 ,作用是遍歷數組,常用的寫法:
案例分析:
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 方法。
個人見解,難免有錯漏,望不吝賜教