慕粉1470743962
2016-08-20 15:32
var myarr=new Array(); //先声明一维
for(var i=0;i<2;i++){ //一维长度为2
myarr[i]=new Array(); //再声明二维
for(var j=0;j<3;j++){ //二维长度为3
myarr[i][j]=i+j; // 赋值,每个数组元素的值为i+j
}
}
其实这个循环是双层循环,外层循环的是行,内层循环的是列。形式就像算数乘法表;你看i的取值,它是在for循环里面i可取0,1,在接下来看当i=0;那么创建了myarr【0】这个一维数组,j=0,就创建了
myarr[0][0]=0;
代码继续执行:
i j = i+j (方便表示对应得关系 )
myarr[0][1]=0+1;
myarr[0][2]=0+2;
形成表格: i表示行 J表示列 (2行3列)
0 1 2
1 2 3
开始我也不理解,我想我懂了,再结合,二维数组怎么来的,从一维数组演变而来;那么问题来了,var arr = [[1, 2, ,3, 4], [5, 6, 7, 8], [9, 10, 11, 12]];怎么看成一维数组呢?
首先上面可以让我们想到在创建一维数组的案例中有var arr=[1,2,3],相当于放了三个盒子从上摆下(三行);对应二维数组中【1,2,3,4】表示第一行;【5,6,7,8】表示第二行;【9,10,11,12】表示第三行;一维数组的长度对应二维数组的行数;那么再看var arr= 【1,2,3,4】,放了4个数;在二维中就是在第一个盒子中放了四个数;以此类推:
第一行 1 2 3 4
第二行 5 6 7 8
第三行 9 10 11 12
这样二维数组就出来了,三行四列
先声明是个人理解,如有错误请指正~~~~
一维数组比喻一个大盒子,大盒子里面有一个红色盒子、一个蓝色盒子、一个黄色盒子。。。以此类推
var box=[红色盒子,蓝色盒子,黄色盒子]
二维数组比喻一个大盒子里有一些不同颜色盒子,每个颜色的盒子里又放了其它东西,比如上面红色盒子里放了铅笔、蓝色盒子里放了圆珠笔、黄色盒子里放了钢笔。。。
var box=[[铅笔],[圆珠笔],[钢笔]]
再来理解 “myarr[i]=new Array(); //再声明二维 ”这里的myarr[i]能不能把它看成一个整体,类似MYarr=myarr[i],就是MYarr长度为3,只是MYarr是数组“var myarr=new Array(); //先声明一维”里面的某一个值
房间是一维的,箱子是二维的
那我给箱子放东西是不是要这样说
第一个房间 myarr[i]=new Array();
第一个房间的第一个箱子 放 1+1 myarr[i][j]=i+j;
第一个房间的第二个箱子 放 1+2
第一个房间的第三个箱子 放 1+3
第二个房间
第二个房间的第一个箱子 放 1+1
第二个房间的第二个箱子 放 2+2
第二个房间的第三个箱子 放 3+3
在myarr中已经是一维的了,在myarr[i]的基础上再创建一个数组就是二维的啊
JavaScript进阶篇
468782 学习 · 22507 问题
相似问题
回答 6
回答 1