一文詳解如何跳出map或者foreach循環(huán)
前言
forEach()和map() 是Array 數(shù)組對象提供的循環(huán)數(shù)組的方法。不能像js循環(huán)表達式那樣使用break 、‘continue’
等結(jié)束循環(huán)語句。
那么在forEach() 和 map()方法中如何終止循環(huán)和跳出本次循環(huán)呢?
跳出本地循環(huán)
在foreach和map函數(shù)里使用的 return 來實現(xiàn)跳出本次循環(huán)。以foreach 循環(huán)為例:
var arr = [1,2,3]; var newArr = [] arr.forEach((item,index) =>{ //下標(biāo)小于2時,直接return之后,不執(zhí)行后面的push。 if(index<2) { return item } newArr.push(item) }) console.log(newArr) // [3] //結(jié)果只有3
終止循環(huán)
在foreach和map函數(shù)里使用的 throw 拋出異常來實現(xiàn)跳出本次循環(huán)(強制退出,非必要不建議)。以foreach 循環(huán)為例:
var arr = [1,2,3] var newArr = [] arr.forEach((item,index)=>{ try{ if(index > 1) { throw new Error('文本小于2') } newArr.push(item) }catch (e){ // throw e } }) console.log(newArr) [1,2]
附:for循環(huán)里return和break的區(qū)別
1)return和break的應(yīng)用場景
- return只能在for循環(huán)外有一層作用域(通常是函數(shù))的時候才能用,因為for循環(huán)自己是沒有作用域的。
- break外邊有沒有函數(shù)都可以,break只是針對該循環(huán)本身而言
2)return和break的使用區(qū)別(外層都有函數(shù)作用域)
- 單層循環(huán):二者都可以跳出該函數(shù)
- 多層循環(huán):
return 返回所有的for循環(huán)內(nèi)部結(jié)構(gòu) break 只跳出當(dāng)前的for循環(huán) // https://blog.csdn.net/weixin_38098192/article/details/84345494
總結(jié)
到此這篇關(guān)于如何跳出map或者foreach循環(huán)的文章就介紹到這了,更多相關(guān)跳出map或foreach循環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js讀寫cookie實現(xiàn)一個底部廣告浮層效果的兩種方法
使用js實現(xiàn)一個頁面浮層效果,用js讀寫cookie來實現(xiàn)用戶關(guān)閉廣告的顯示狀態(tài),下面有個不錯的示例,感興趣的朋友可以參考下2013-12-12weixin-java-miniapp微信小程序登陸具體實現(xiàn)
這篇文章主要介紹了weixin-java-miniapp微信小程序登陸具體實現(xiàn)的相關(guān)資料,包括用戶授權(quán)、獲取code、發(fā)送到后臺、后臺驗證并獲取openid和session_key、返回驗證結(jié)果等步驟,需要的朋友可以參考下2025-02-02微信小程序授權(quán)獲取用戶詳細信息openid的實例詳解
這篇文章主要介紹了微信小程序授權(quán)獲取用戶詳細信息openid的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09TypeScript實現(xiàn)字符串轉(zhuǎn)樹結(jié)構(gòu)的方法詳解
有一個多行字符串,每行開頭會用空格來表示它的層級關(guān)系,每間隔一層它的空格總數(shù)為2,如何將它轉(zhuǎn)為json格式的樹型數(shù)據(jù)?本文就跟大家分享下這個算法2022-09-09