收藏
回答

小程序forEach 跳不出循环?

JSON.parse(hyjson).forEach(v1 =>{

                if (v1.Klx == "全部卡类型"{

                  if (v1.Zklx == "0"{

                    dj = parseFloat(wzb.S_dj);

                    zk = v1.Zk;

                    hj = parseFloat(dj * parseFloat(zk)).toFixed(2);

                  } else {

                    dj = v1.Zk;

                    zk = 1;

                    hj = v1.Zk;

                  }

                  return false;

                } else if (v1.Klx == hkm{

                  if (v1.Zklx == "0"{

                   dj = parseFloat(wzb.S_dj);

                    zk = v1.Zk;

                    hj = parseFloat(dj * parseFloat(zk)).toFixed(2);

                  } else {

                    dj = v1.Zk;

                    zk = 1;

                    hj = v1.Zk;                  

                  }

这里满足条件就要跳出,不再循环

                  return false;

                } else {

                  if (wzb.S_sfzk == "1"{

                    dj = parseFloat(wzb.S_dj);

                    zk = zklx;

                    dj = parseFloat(wzb.S_dj);

                    zk = v1.Zk;

                    hj = parseFloat(dj * parseFloat(zk)).toFixed(2);

                  } else {

                    dj = parseFloat(wzb.S_dj);

                    zk = 1;

                    hj = parseFloat(wzb.S_dj);

                  }

                }

              });

JSON.parse(hyjson) 里有两行数据,找到符合条件的数据后不跳出,又执行了不符合条件的行数据,求大神指点,跳出

回答关注问题邀请回答
收藏

4 个回答

  • 朝阳
    朝阳
    2020-11-19

    forEach是通过回调的方式实现的,不可能中断循环,还是用for吧,这个和小程序没关系,这是Js语法

    2020-11-19
    有用
    回复
  • optimistic
    optimistic
    2020-11-19

    forEach里面的return不起作用 可以使用 find some这种可中断函数

    2020-11-19
    有用
    回复
  • 陈宇明
    陈宇明
    2020-11-19

    打log,debug

    2020-11-19
    有用
    回复
  • 工号 9527
    工号 9527
    2020-11-19

    https://juejin.im/post/6844903909086265352


    改成 for 循环吧

    2020-11-19
    有用
    回复
登录 后发表内容
问题标签