我如何删除“;“未定义”;从JavaScript数组项的开始?

我如何删除“;“未定义”;从JavaScript数组项的开始?,javascript,Javascript,我试图生成一个随机数字数组,但我在每行的开头都得到了“未定义”。我已经在网上搜索了几个小时,但还没找到答案 预期输出应为5行2个随机数字,如下所示: 87 57 81 80 02 undefined87 undefined57 undefined81 undefined80 undefined02 但实际输出如下所示: 87 57 81 80 02 undefined87 undefined57 undefined81 undefined80 undefined02 这是一个经过修改的摘

我试图生成一个随机数字数组,但我在每行的开头都得到了“未定义”。我已经在网上搜索了几个小时,但还没找到答案

预期输出应为5行2个随机数字,如下所示:

87
57
81
80
02
undefined87
undefined57
undefined81
undefined80
undefined02
但实际输出如下所示:

87
57
81
80
02
undefined87
undefined57
undefined81
undefined80
undefined02
这是一个经过修改的摘录,产生了如上所示的结果:

function NumberSet() {

  // generate all the digits
  this.generate = function() {
    random_digits = [];

    // create 5 rows of 2 random digits
    for(i=0; i<5; i++) {
      for(z=0; z<2; z++) {
        // use .toString() in order to concatenate digits to 
        // the array without adding them together
        random_digit = Math.floor(Math.random()*10).toString();
        random_digits[i] +=random_digit;
      }
    }
    return random_digits;
  }
}
randomnumbers1 = new NumberSet();
mynums = randomnumbers1.generate();
jQuery.each(mynums, function(i, l) {
  // display output in a div#nums
  $('#nums').append(l + '<br>');
});
函数NumberSet(){
//生成所有数字
this.generate=函数(){
随机数字=[];
//创建5行2个随机数字
对于(i=0;i

random_digits[i] +=random_digit;

演示:

更换

random_digits[i] +=random_digit;


演示:

初始化变量

 random_digits[i] = "";
 for(z=0; z<2; z++) {
    random_digit = Math.floor(Math.random()*10).toString();
    random_digits[i] +=random_digit;
  }

初始化变量

 random_digits[i] = "";
 for(z=0; z<2; z++) {
    random_digit = Math.floor(Math.random()*10).toString();
    random_digits[i] +=random_digit;
  }

在第一个
for
循环中声明
随机数字
,并分配一个空字符串。 通过内部
for
循环附加随机数,然后将
push()
推回到外部
for
循环中的数组中

function NumberSet() {
  // generate all the digits -a meme should be attached here-
  this.generate = function() {
    random_digits = [];

    // create 5 rows of 2 random digits
    for(i=0; i<5; i++) {
      var random_digit = ""; //Declare it out here
      for(z=0; z<2; z++) {
        // use .toString() in order to concatenate digits to 
        // the array without adding them together
        random_digit += Math.floor(Math.random()*10).toString(); //Append it here
      }
      random_digits.push(random_digit); //Push it back here
    }
    return random_digits;
  }
}
函数NumberSet(){
//生成所有数字-此处应附加一个模因-
this.generate=函数(){
随机数字=[];
//创建5行2个随机数字

for(i=0;i在第一个
for
循环中声明
随机数字
,并分配一个空字符串。 通过内部
for
循环附加随机数,然后将
push()
推回到外部
for
循环中的数组中

function NumberSet() {
  // generate all the digits -a meme should be attached here-
  this.generate = function() {
    random_digits = [];

    // create 5 rows of 2 random digits
    for(i=0; i<5; i++) {
      var random_digit = ""; //Declare it out here
      for(z=0; z<2; z++) {
        // use .toString() in order to concatenate digits to 
        // the array without adding them together
        random_digit += Math.floor(Math.random()*10).toString(); //Append it here
      }
      random_digits.push(random_digit); //Push it back here
    }
    return random_digits;
  }
}
函数NumberSet(){
//生成所有数字-此处应附加一个模因-
this.generate=函数(){
随机数字=[];
//创建5行2个随机数字

对于(i=0;i,您的函数可以简化为:

function NumberSet() {

  this.generate = function() {
    var random_digits = new Array();

    for (i = 0; i < 5; i++) {
        randnum = Math.floor(Math.random() * 99);
        random_digits[i] = (randnum < 10 ? '0' : 0) + randnum;
    }
    return random_digits;
  }
}
函数NumberSet(){
this.generate=函数(){
var random_digits=新数组();
对于(i=0;i<5;i++){
randnum=Math.floor(Math.random()*99);
随机数字[i]=(randnum<10?'0':0)+randnum;
}
返回随机数字;
}
}

您的功能可以简化为:

function NumberSet() {

  this.generate = function() {
    var random_digits = new Array();

    for (i = 0; i < 5; i++) {
        randnum = Math.floor(Math.random() * 99);
        random_digits[i] = (randnum < 10 ? '0' : 0) + randnum;
    }
    return random_digits;
  }
}
函数NumberSet(){
this.generate=函数(){
var random_digits=新数组();
对于(i=0;i<5;i++){
randnum=Math.floor(Math.random()*99);
随机数字[i]=(randnum<10?'0':0)+randnum;
}
返回随机数字;
}
}

如果第一个数字是
0
,它将丢失,因为它是错误的。您需要对
未定义的
进行显式检查。如果第一个数字是
0
,它将丢失,因为它是错误的。您需要对
未定义的
进行显式检查。谢谢。这就是我缺少的:
随机数字[I]=“”
我也添加了你的其他提示。谢谢。这就是我所缺少的:
随机数字[I]=”;
我也添加了你的其他提示。谢谢你花时间写出来。我在页面顶部的第一条评论中使用了修复方法,但从阅读你的示例中学到了很多。(我还在学习JS。)感谢您花时间写出来。我在页面顶部的第一条评论中使用了修复程序,但通过阅读您的示例,我学到了很多。(我仍在学习JS。)