小程序forEach 跳不出循环?

发布于 6 年前作者 wenxiuying6788 次浏览最后编辑 6 年前来自 ask

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 回复
maomin
maomin1 楼5 年前

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

yang67
yang672 楼5 年前
na20
na203 楼5 年前

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

qiangguo
qiangguo4 楼4 年前

打log,debug