<script type="text/javascript">
var myarr=new Array(); //先声明一维
for(var i=1;i<3;i++){ //一维长度为2
/*上面的是否可以理解成这样
myarr[0]=1
myarr[1]=2
*/
myarr[i]=new Array(); //再声明二维
for(var j=0;j<6;j++){ //二维长度为6
myarr[i][j]=i*j; // 赋值,每个数组元素的值为i*j
}
}
document.write(myarr[0][3])
上面的代码意思是一维数组长度为2,二维数组长度为6,是这样理解吗?
我输出的数组为myarr[0][3],一维组数中的0号数组,理解中赋值应该为1(i=1),二维数组中的3号数组,理解中赋值应该为2(j=0),不知道这样表达,各位老师有没有明白。
我理解的这段代码输出应该为2,结果却不显示,谁能帮忙解释一下为什么吗?
<script type="text/javascript">
var myarr=new Array(); //先声明变量为数组
for(var i=1;i<3;i++){ //这句话表示外层循环次数为2
myarr[i]=new Array(); //声明myarr数组是二维数组
for(var j=0;j<6;j++){ //这句话表示内层循环次数为6
/*
下面的这句话,结合内外层循环,其实是定义了二维数组中
myarr[1][0]=1*0=0; myarr[1][1]=1*1=1; myarr[1][2]=1*2=2……;myarr[1][5]=5
myarr[2][0]=2*0=0; myarr[2][1]=2*1=2; myarr[2][2]=2*2=4……;myarr[2][5]=10
因为i从1开始,j从0开始
*/
myarr[i][j]=i*j; // 赋值,每个数组元素的值为i*j
}
}
/*
下面这句话中的“;”忘写了,而且在这个二维数组定义中,并没有定义myarr[0][3]的值
*/
myarrdocument.write(myarr[0][3]);
</script>
希望能看懂