js如何跳出foreach迴圈
阿新 • • 發佈:2018-11-06
本人在做購物車練習時,想用foreach遍歷商品列表,如果商品列表都選中了,則勾選 全選 按鈕,否則遍歷時如果有某一項沒有勾選則應該將 全選 按鈕標誌位設為false,然後跳出迴圈。
問題來了,我在foreach裡,不管foreach裡,我想跳出迴圈的地方加break; 還是 return false; 都無濟於事!
解決辦法:用try包住整個foreach語句,然後在想跳出迴圈的地方丟擲異常,這樣就可以跳出迴圈了。
try{ this.productList.forEach((item,index)=>{ if((typeof(item.checked) == 'undefined')||(item.checked == false)){ this.checkAllFlag = false; // break; // 無效 // return false; // 也無效 throw new Error("取消全選!"); // 丟擲異常跳出迴圈 }else if((index == (this.productList.length-1))&&(item.checked == true)){ this.checkAllFlag = true; } }); }catch(e){ console.log(e); };
上傳一張效果圖。。。。 嘿嘿。。。
附上vue購物車連結地址 https://zhangbaron1.github.io/cart/