我是新来的,也是编程的。无论如何,为了进入主题,我编写了以下程序,目的是在JavaScript中生成二维数组,然后在表中显示其元素。但是,在i
行数组索引的值应该显示的位置(如第一行中的1
,然后第二行中的2
等),数字{ {1}}显示相反。所以,如果有人能解释我做错了什么,我会很感激。这是代码:
10
答案 0 :(得分:2)
您将同一个数组一次又一次地添加到array1
。相反,您需要每次都创建新的数组。
var array1 = [];
for (var i = 0; i < 10; i++ ) {
var array2 = [];
for (var j = 0; j < 10; j++) {
array2[j] = (i+1) + "-" + (j+1);
}
array1[i]=array2;
}
但通常,这将使用Array.prototype.push
方法完成,就像这样
var array1 = [];
for (var i = 0; i < 10; i++ ) {
var array2 = [];
for (var j = 0; j < 10; j++) {
array2.push((i+1) + "-" + (j+1));
}
array1.push(array2);
}
答案 1 :(得分:0)
您可以在每次分配array2
到array1
之后创建新数组,类似这样的
array2=[];
on
for (var i = 0; i < 10; i++ ) {
for (var j = 0; j < 10; j++) {
array2[j] = (i+1) + "-" + (j+1);
}
array1[i]=array2;
array2=[]; //created new array each time after array2 assigned
}