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