Javascript JS for循环如何获取第一个值

Javascript JS for循环如何获取第一个值,javascript,for-loop,Javascript,For Loop,我为这个愚蠢的问题感到抱歉。我已经试了好几个小时了,但我真的无法让它工作。所以我有一个for循环,它循环一些数字。 但它不接受第一个值(71990000) 如何做到这一点? 到目前为止,我得到的是: var minNr = 0000; var maxNr = 10000; var prefix = 7199; function Nummer(min,max) { var regex = /^

我为这个愚蠢的问题感到抱歉。我已经试了好几个小时了,但我真的无法让它工作。所以我有一个for循环,它循环一些数字。
但它不接受第一个值(
71990000

如何做到这一点?
到目前为止,我得到的是:

        var minNr = 0000;
        var maxNr = 10000;
        var prefix = 7199;

        function Nummer(min,max)
        {
            var regex = /^(\d{2})\1$/;

            var guld_nr;
            for(guld_nr = minNr; guld_nr < maxNr;)
            {
                if(regex.test(guld_nr))
                {
                    $(".resultat").append(prefix + "" + guld_nr + "<br>");
                }

                guld_nr++;
            }

        }
但我还需要号码:
71990000

我如何才能做到这一点?

使用字符串:

var minNr = '0000';
这是正则表达式测试的起始值,需要四个零。如果它是一个数字,那么测试只得到一个零。如果你用前导零填充它,这会有帮助

var minNr='0000',
最大NR=10000,
前缀=7199;
功能数字(最小值、最大值){
var regex=/^(\d{2})\1$/;
瓦尔古尔德;
对于(guld_nr=minNr;guld_nr”;
}                
}
}
Nummer(minNr,maxNr)使用字符串:

var minNr = '0000';
这是正则表达式测试的起始值,需要四个零。如果它是一个数字,那么测试只得到一个零。如果你用前导零填充它,这会有帮助

var minNr='0000',
最大NR=10000,
前缀=7199;
功能数字(最小值、最大值){
var regex=/^(\d{2})\1$/;
瓦尔古尔德;
对于(guld_nr=minNr;guld_nr”;
}                
}
}

Nummer(minNr,maxNr)数字本身不归零<代码>0000;//0

为它创建一个自定义的零填充方法,这样您就可以执行
zpad(0,4);//“0000”

现在相应地调整
numer

function Nummer(min, max, prefix) {
    var regex = /^(\d{2})\1$/,
        i, str;
    prefix = prefix || '';

    for(i = min; i < max; ++i) {
        str = zpad(i, 4);
        if(regex.test(str)) console.log(prefix + str);
    }
}

旁注

    <代码> Nummer <代码>并没有构造对象,考虑CAMEL外壳它
数字本身不归零<代码>0000;//0

为它创建一个自定义的零填充方法,这样您就可以执行
zpad(0,4);//“0000”

现在相应地调整
numer

function Nummer(min, max, prefix) {
    var regex = /^(\d{2})\1$/,
        i, str;
    prefix = prefix || '';

    for(i = min; i < max; ++i) {
        str = zpad(i, 4);
        if(regex.test(str)) console.log(prefix + str);
    }
}

旁注

    <代码> Nummer <代码>并没有构造对象,考虑CAMEL外壳它
      这是因为您的正则表达式拒绝数字0;第一次通过循环时,
      minNr
      的数值为0(将其设置为0000没有帮助;这只是一种表示0的奇特方式)。正则表达式要求两个数字后跟相同的模式,但您给它的是字符串“0”

      您可以在第一次通过时将
      minNr
      设置为字符串(
      '0000'
      ),这将解决“0000”的问题,但您将错过“0101”、“0202”等(这将转换为字符串“101”、“202”等)

      一种解决方案是将数字的字符串表示形式置零。以下函数将接受任何数字,并将其保留为零,以适合给定的宽度:

      function zeropad(n, w) {
          n = String(n);
          while(n.length < w) n = '0' + n;
          return n;
      }
      

      还要注意,
      Number
      是JavaScript中文本的内置对象包装器(所有原语都有对象包装器:
      Number
      Boolean
      String
      ),通过创建一个名为
      Number
      的函数,您正在阻止这个内置对象,这是不可取的(需要使用它的代码将调用您的函数,这是不兼容的,并且有不同的用途)。

      这是因为您的正则表达式拒绝数字0;第一次循环时,
      minNr
      的数值为0(将其设置为0000没有帮助;这只是说0的一种奇特方式)。正则表达式要求两个数字后跟相同的模式,但您给它的是字符串“0”

      您可以在第一次通过时将
      minNr
      设置为字符串(
      '0000'
      ),这将解决“0000”的问题,但您将错过“0101”、“0202”等(这将转换为字符串“101”、“202”等)

      一种解决方案是将数字的字符串表示形式置零。以下函数将接受任何数字,并将其置零以适合给定的宽度:

      function zeropad(n, w) {
          n = String(n);
          while(n.length < w) n = '0' + n;
          return n;
      }
      

      还要注意,
      Number
      是JavaScript中文本的内置对象包装器(所有原语都有对象包装器:
      Number
      Boolean
      String
      ),通过创建一个名为
      Number
      的函数,您正在阻止这个内置对象,这是不可取的(需要使用它的代码将调用您的函数,该函数不兼容且用途不同)。

      您可以使用算术进行数字模式检查,并将结果保留为数字:

      var minNr=0;//在这里放4个零没有帮助。
      var maxNr=10000;
      var前缀=7199;
      功能数字(最小值、最大值){
      对于(变量guld_nr=min;guld_nr”);
      }
      }
      }
      Nummer(minNr,maxNr);

      您可以使用算术进行数字模式检查,并将结果保留为数字:

      var minNr=0;//在这里放4个零没有帮助。
      var maxNr=10000;
      var前缀=7199;
      功能数字(最小值、最大值){
      对于(变量guld_nr=min;guld_nr”);
      }
      }
      }
      Nummer(minNr,maxNr);
      
      
      谢谢!成功了!你能告诉我,为什么我需要零成为字符串吗?我想知道,另一次,它是正则表达式测试的起始值,你需要四个零。如果它是一个数字,那么你在测试中只能得到一个零。如果你用前导零填充它,这会有帮助。谢谢!成功了!C你告诉我为什么我需要零成为一个字符串?我想知道,
      regex.test(zeropad(guld_nr, 4))