日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

forEach-关于跳出循环

發布時間:2023/12/31 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 forEach-关于跳出循环 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

forEach

(1)不能使用 continue 和 break !(for可以-continue過濾當前循環;break直接終止循環,跳出整個循環

(2)使用return,只能跳出當前循環,并不能跳出整個循環,更不會終止循環。

(3)通過拋出異常的方式可以實現終止循環,跳出整個循環,如下示例:

let arr = [{a:'1',b:'2',c:'3'},{a:'11',b:'22',c:'33'}]; try {arr.forEach((val) => {if (val['b'] == '22') {throw new Error('end-loop')}console.log('forEach-throw', val);// {a:'1',b:'2',c:'3'};因為==22時,跳出整個循環了}) } catch (e) {console.log(e) }

?

場景:

在選擇套餐商品時,關聯了多個商品,其商品的的數量可填寫。在提交時,要校驗其數量必須是大于0的正整數,如果不是,則給用戶提示報錯。

其實throw new Error() 就可以了。只是我創建一個值來存儲判斷結果了,而且數組對象整個都循環了一遍。像我上面那種只是給個提示不區分所有商品的數量給與一 一提示,有點代碼冗余了;

好吧,其實就這個場景來說,我代碼都冗余了,哈哈哈~? ES6中有filter(),some(),every()都可以做到,也是很簡潔了~

?

記錄一下我的代碼吧~,主要是弄清楚forEach的用法哦

html:

<div class="unit-prop-num">數量:<input type="number" [(ngModel)] = "item.linkedProductNum" min="1"/> </div>

ts:

// 套餐商品-校驗//isUnitPro---1單個商品;2套餐商品//hUnitProduct: [{}],套餐商品數組對象if (this.isUnitPro == 2 ) {if(hUnitProduct.length <= 0){this._ils.alertOpen("套餐商品時,請至少選擇一個關聯套餐商品");return;}// /^[1-9]+[0-9]*$/,大于0的正整數let hReg = /^[1-9]+[0-9]*$/ ;let hxFlag = true;hUnitProduct.forEach((val)=>{console.log(val,111111,hReg.test(val['linkedProductNum']));// linkedProductNum --數量if(!hReg.test(val['linkedProductNum'])){hxFlag = false;return;}});if(!hxFlag){this._ils.alertOpen("套餐關聯商品數量必須為大于0的整數");return;}}

結果:

?

參考文章:

for和forEach怎么跳出循環

Js中forEach跳出本次循環和終止循環

?

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的forEach-关于跳出循环的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。