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是终端循环作用  而不是返回总用  具体原因我也不知道  求大神指教

  • 相关阅读:
    hive_case
    hive_group
    linux-搭建ngnix
    Nfs服务器搭建
    几种常见的启动脚本
    linux 修改本机的端口映射
    oracle-sql计算
    linux 磁盘大小查看
    postMan测试接口的几种方式
    oracle迁移到12c的时列转行 wm_concat 报错解决
  • 原文地址:https://www.cnblogs.com/happen-/p/5593341.html
Copyright © 2011-2022 走看看