1. 程式人生 > >js如何跳出foreach迴圈

js如何跳出foreach迴圈

   本人在做購物車練習時,想用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/