为了账号安全,请及时绑定邮箱和手机立即绑定

为什么提交后不显示?我理解中应该输出2

<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,结果却不显示,谁能帮忙解释一下为什么吗?



正在回答

1 回答

<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>

希望能看懂


0 回复 有任何疑惑可以回复我~
#1

菜鸟学前端 提问者

谢谢您的解答! 也就是说,i开始赋值为1,所以数组中的myarr[1][0]、myarr[1][1]中第一个中括号里必须是1是吧?如果数组循环次数为3次,那第一个中括号中必须是1、2、3,这几个数值是吧?
2019-05-08 回复 有任何疑惑可以回复我~
#2

bestMan

i索引不也是从0开始么?
2019-05-17 回复 有任何疑惑可以回复我~
#3

慕仔7445191 回复 bestMan

他设置的是从1开始
2019-06-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么提交后不显示?我理解中应该输出2

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信