一文詳解如何跳出map或者foreach循環(huán)
前言
forEach()和map() 是Array 數(shù)組對(duì)象提供的循環(huán)數(shù)組的方法。不能像js循環(huán)表達(dá)式那樣使用break 、‘continue’
等結(jié)束循環(huán)語(yǔ)句。
那么在forEach() 和 map()方法中如何終止循環(huán)和跳出本次循環(huán)呢?
跳出本地循環(huán)
在foreach和map函數(shù)里使用的 return 來實(shí)現(xiàn)跳出本次循環(huán)。以foreach 循環(huán)為例:
var arr = [1,2,3]; var newArr = [] arr.forEach((item,index) =>{ //下標(biāo)小于2時(shí),直接return之后,不執(zhí)行后面的push。 if(index<2) { return item } newArr.push(item) }) console.log(newArr) // [3] //結(jié)果只有3
終止循環(huán)
在foreach和map函數(shù)里使用的 throw 拋出異常來實(shí)現(xiàn)跳出本次循環(huán)(強(qiáng)制退出,非必要不建議)。以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)用場(chǎng)景
- return只能在for循環(huán)外有一層作用域(通常是函數(shù))的時(shí)候才能用,因?yàn)閒or循環(huán)自己是沒有作用域的。
- break外邊有沒有函數(shù)都可以,break只是針對(duì)該循環(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js讀寫cookie實(shí)現(xiàn)一個(gè)底部廣告浮層效果的兩種方法
使用js實(shí)現(xiàn)一個(gè)頁(yè)面浮層效果,用js讀寫cookie來實(shí)現(xiàn)用戶關(guān)閉廣告的顯示狀態(tài),下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-12-12weixin-java-miniapp微信小程序登陸具體實(shí)現(xiàn)
這篇文章主要介紹了weixin-java-miniapp微信小程序登陸具體實(shí)現(xiàn)的相關(guān)資料,包括用戶授權(quán)、獲取code、發(fā)送到后臺(tái)、后臺(tái)驗(yàn)證并獲取openid和session_key、返回驗(yàn)證結(jié)果等步驟,需要的朋友可以參考下2025-02-02JS實(shí)現(xiàn)指定區(qū)域的全屏顯示功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)指定區(qū)域的全屏顯示功能,涉及javascript事件響應(yīng)及頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-04-04js獲取瀏覽器地址(獲取第1個(gè)斜杠后的內(nèi)容)
這篇文章主要給大家介紹了關(guān)于js獲取瀏覽器地址(獲取第1個(gè)斜杠后的內(nèi)容)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09微信小程序授權(quán)獲取用戶詳細(xì)信息openid的實(shí)例詳解
這篇文章主要介紹了微信小程序授權(quán)獲取用戶詳細(xì)信息openid的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09Openlayers實(shí)現(xiàn)距離面積測(cè)量
這篇文章主要為大家詳細(xì)介紹了Openlayers實(shí)現(xiàn)距離面積測(cè)量,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09TypeScript實(shí)現(xiàn)字符串轉(zhuǎn)樹結(jié)構(gòu)的方法詳解
有一個(gè)多行字符串,每行開頭會(huì)用空格來表示它的層級(jí)關(guān)系,每間隔一層它的空格總數(shù)為2,如何將它轉(zhuǎn)為json格式的樹型數(shù)據(jù)?本文就跟大家分享下這個(gè)算法2022-09-09js封裝成插件_Canvas統(tǒng)計(jì)圖插件編寫實(shí)例
下面小編就為大家?guī)硪黄猨s封裝成插件_Canvas統(tǒng)計(jì)圖插件編寫實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09js實(shí)現(xiàn)點(diǎn)擊文本框顯示日期選擇器特效代碼分享
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)點(diǎn)擊文本框顯示日期選擇器特效,提高了工作效率,推薦給大家,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-08-08