小程序forEach 跳不出循环?
发布于 4 年前 作者 wenxiuying 6505 次浏览 来自 问答

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 回复

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

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

打log,debug

回到顶部