我如何删除“;“未定义”;从JavaScript数组项的开始?
我试图生成一个随机数字数组,但我在每行的开头都得到了“未定义”。我已经在网上搜索了几个小时,但还没找到答案 预期输出应为5行2个随机数字,如下所示:我如何删除“;“未定义”;从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 这是一个经过修改的摘
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。)