【问题标题】:How to replace a variable如何替换变量
【发布时间】:2017-09-06 17:29:41
【问题描述】:

如果结果是 010、011 或 012,我需要退出 mes1 mes2 和 mes3 的值的零 但是当我使用 if 并运行新 var 的警报时,结果是未定义的 这是功能:

function getImpuestos() {
      $.getJSON("https://soa.afip.gob.ar/av/v1/vencimientos/"+$("#cuit").val()+"", function(result){
        for (var i = 0; i < result.data.length; i++) {
          var fecha = result.data[i].vencimiento;
          var periodo = fecha.substr(0,7);
          var dt = new Date();
          var year = dt.getFullYear();
          var mes1 = year + "-0" + (dt.getMonth()+1);
          var mes2 = year + "-0" + (dt.getMonth()+2);
          var mes3 = year + "-0" + (dt.getMonth()+3);
          if(mes1 > 7){
            var mes1 = year + "-" + (dt.getMonth()+1);
          }else if(mes2 > 7){
            var mes2 = year + "-" + (dt.getMonth()+2);
          }else if(mes3 > 7){
            var mes3 = year + "-" + (dt.getMonth()+3);
          }
          if(periodo == mes1 || periodo == mes2 || periodo == mes3) {
            $(".fa-spinner").css("display", "block");
            $("#textobusqueda").css("display", "block");
            console.log(result.data[i].idImpuesto);
            alert(mes5);
            buscarImpuesto(result.data[i].idImpuesto, result.data[i].vencimiento, result.data[i].tipoOperacion, periodo);
          }
        }
      });
    }
<label style="color:black" class="control-label">Ingresar CUIT Empresa</label>
            <input id="cuit" type="text" class="form-control" onkeyup="searchCliente();">

【问题讨论】:

  • 您需要所有值都由两位数字组成,例如 01、04、09、10、11?
  • 您正在提醒变量mes5....您从未定义过具有该名称的变量
  • 新 vars 的原名是 mes4,mes5,mes6
  • @MarcinSzwarc 是的
  • @Augustin 查看下方padStart 的解决方案

标签: javascript jquery variables get


【解决方案1】:

您可以使用string.padStart 代替 ifs:

var mes1 = year + "-" + (dt.getMonth()+1).padStart(2, "0");
var mes2 = year + "-" + (dt.getMonth()+2).padStart(2, "0");
var mes3 = year + "-" + (dt.getMonth()+3).padStart(2, "0");

当然,更改mes5 以警惕不同的事情。

【讨论】:

  • Uncaught TypeError: (dt.getMonth(...) + 1).padStart 不是函数
  • 我忘了tostring:var mes1 = year + "-" + (dt.getMonth()+1).toString().padStart(2, "0");
  • var mes1, 2 and 3 设置为年份,连字符(“-”)然后你得到当前月份,添加一个(或两个或三个)并在开头用零填充字符串。填充字符串意味着在开头添加一些字符(在这种情况下是零)以具有指定的长度。
猜你喜欢
  • 2023-03-22
  • 2014-07-28
  • 2021-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-17
  • 2019-10-14
相关资源
最近更新 更多