阿biu
2016-03-18 14:48
第一种定义方法中,为什么要将下划线部分写在上面的for里?感觉i和j应该是并列关系才对呀?
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
}
}
第二种定义方法,不知道在讲什么。。。
这样子理解吧:第一个for(var i=0;i<2;i++)是先确认行数,这里面有2行;
然后第二个for(var j=0;j<3;j++)嵌套在第一个for里面是确认列数,这里有3列;
for()循环语句是先执行外部赋予的第一个值,上边也就是i=0开始,然后就开始读写里面的(下划线部分)语句,但是里面又出现一个for()循环语句,先让里面的这个for循环(j=0,1,2)完成后再跳出来循环下一个i=1;最后不就是有结果:
j=0 j=1 j=2列
i=0行:0+0 0+1 0+2;
i=1行:1+0 1+1 1+2;
明白了,谢谢可爱的同学们!
第一种:myarr先声明长度为2,即有myarr[0],myarr[1]。再使用for分别为myarr[0],myarr[1]都声明为一个长度为3的数组,所以总共就是2*3。
var myarr=new Array(); //先声明一个变量
for(var i=0;i<2;i++){ //
myarr[i]=new Array(); //通过声明的变量myarr再声明一个长度为2的一维数组
}
for(var i=0;i<2;i++){
myarr[i]=new Array();
for(var j=0;j<3;j++){
myarr[i][j]=i+j; // 通过声明的一维数组的每一个元素(myarr[i])再声明长度为3的二维数组
}
}
多维数组建立在一位数组之上。比如二维数组arr[2][3];他的第一维数组的元素是两个一维数组,这两个一维数组中各包含3个元素。
第一种先定义一个一维数组,然后每个一数组又定义一个数组,然后得到二维数组。
第二种是知道值直接就定义二维数组。
JavaScript进阶篇
468781 学习 · 22507 问题
相似问题