forEach方法如何跳出循環

1.for方法跳出循環------break跳出循環 continue跳過當次循環

var arr = [1,3,5,7,9];
var id = 5;
for (var i = 0; i < arr.length; i++) {
     if(arr[i]=== 1) continue;    //跳過當次循環
     console.log(arr[i])
     if (arr[i] === id) {    
         break;                   //滿足條件,跳出循環
     }
 }

只會打印出3,5,而剩餘的沒打印,則說明到5就跳出了循環,而1跳過了當次循環

2.forEach方法跳出循環------通過拋出異常的方式跳出循環 通過return跳過當次循環

var arr = [1,3,5,7,9];
var id = 5;
try {
     arr.forEach(function (curItem, i) {
         if(curItem === 1) return;
         console.log(curItem)
         if (curItem === id) {
             throw Error();         //滿足條件,跳出循環
         }
     })
 } catch (e) {
 }

for和forEach的區別

  • foreach()不能使用break和continue這兩個關鍵字,它實現break效果可以通過拋出異常的方式,實現continue的效果可以直接使用return。
  • forEach的優勢就是,它傳入的是一個回調函數,因此形成了一個作用域,它內部所定義的變量不會像for循環一樣污染全局變量。
  • forEach()本身無法跳出循環,必須遍歷所有的數據才能結束。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章