js中Array.forEach跳出循環的方法實例

forEach()方法

語法:array.forEach(callback(currentvalue,index,arr) ,thisValue)

其中

callback為數組中每個元素執行的函數,該函數可接受1-3個參數:

  • currentvalue參數表示數組的當前元素項,必須的參數
  • index參數表示的當前元素下標,可選參數
  • arr參數表示當前元素所屬的數組,可選參數

thisValue表示執行回調函數callback()時的this指向。可選參數。當不寫時,則默認是指向window全局

示例

    var arr = [1, 3, 5, 13, 2];
    var res = arr.forEach(function(item,index) {
        console.log(`數組第${index+1}個元素是${item}`);
    })
    console.log(res);//forEach的返回值為undefined,

運行結果:

js中 Array.forEach如何跳出循環

forEach是不能通過break或者return跳出循環的,一般跳出循環的方式為拋出異常:

 try {
   let array = [1, 2, 3, 4]
   array.forEach((item, index) => {
     if (item === 3) {
       throw new Error('end')//報錯,就跳出循環
     } else {
       console.log(item)
     }
   })
 } catch (e) {
 }

這種寫法反而很麻煩。

解決方式:

1.使用every替代:

let array = [1, 2, 3, 4]
array.every((item, index) => {
  if (item === 3) {
    return true
  } else {
    console.log(item)
  }
})

2.自己寫一個😁

//可跳出循環的數組遍歷
Array.prototype.loop = function(cbk) {
  //判斷當前數組是否為空
  if (this?.length) {
    for (let i = 0; i < this.length; i++) {
      let stop = cbk(this[i], i, this)
      //判斷是否停止循環
      if (stop) {
        break
      }
    }
  }
}


let array = [1, 2, 3, 4]
array.loop ((item, index) => {
  if (item === 3) {
    return true
  } else {
    console.log(item)
  }
})

總結

到此這篇關於js中Array.forEach跳出循環的文章就介紹到這瞭,更多相關js中Array.forEach跳出循環內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: