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!
推薦閱讀:
- JS面試題之forEach能否跳出循環詳解
- JavaScript中forEach的錯誤用法匯總
- Vue必學知識點之forEach()的使用
- JavaScript循環遍歷的24個方法,你都知道嗎
- forEach循環裡break使用方式詳解