zoukankan      html  css  js  c++  java
  • js 递归下的循环

    的递归下的循环不能使用forEach  可以使用for代替

    错误写法

    // 获取完整名字
            var getFullName = function(code, resultName) {
              if (code === '0') {
                return resultName;
              } else {
                popup.fullData.forEach(function (val) {
                  if (code === val.code) {
                    var text = val.text + resultName;
                    return getFullName(val.parentcode, text);                
                  }
                });
                /*for (var i = 0, length = popup.fullData.length; i < length; i++) {
                  if (code === popup.fullData[i].code) {
                    var text = popup.fullData[i].text + resultName;
                    return getFullName(popup.fullData[i].parentcode, text);
                    break;
                  }
                }*/
              }
            };

    正确写法

    // 获取完整名字
            var getFullName = function(code, resultName) {
              if (code === '0') {
                return resultName;
              } else {
                for (var i = 0, length = popup.fullData.length; i < length; i++) {
                  if (code === popup.fullData[i].code) {
                    var text = popup.fullData[i].text + resultName;
                    return getFullName(popup.fullData[i].parentcode, text);
                    break;
                  }
                }
              }
            };

    可能原因是foreach中的return是终端循环作用  而不是返回总用  具体原因我也不知道  求大神指教

  • 相关阅读:
    Spring Cloud Hystrix(熔断器)介绍及使用
    Fign入门学习
    Ribbon入门学习
    浅谈JSON5
    JSONObject 与 JSON 互转
    Windows下安装使用jmeter
    MongoDB 数据库高级进阶
    Mysq-l数据库下载以及安装(至安装成功cmd可访问)
    Mysql-数据库下载
    端口占用
  • 原文地址:https://www.cnblogs.com/happen-/p/5593341.html
Copyright © 2011-2022 走看看