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/

猜你喜欢

转载自blog.csdn.net/xiangZHANG110/article/details/83624419