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

请教,对二维数组的定义方法不理解

第一种定义方法中,为什么要将下划线部分写在上面的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

   }

 }

第二种定义方法,不知道在讲什么。。。

正在回答

6 回答

这样子理解吧:第一个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

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

阿biu 提问者

抱歉呐各位大大,确认晚了点!谢谢你萌!
2016-03-21 回复 有任何疑惑可以回复我~

明白了,谢谢可爱的同学们!

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

第一种:myarr先声明长度为2,即有myarr[0],myarr[1]。再使用for分别为myarr[0],myarr[1]都声明为一个长度为3的数组,所以总共就是2*3。

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

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的二维数组

   }

 }


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

多维数组建立在一位数组之上。比如二维数组arr[2][3];他的第一维数组的元素是两个一维数组,这两个一维数组中各包含3个元素。

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

第一种先定义一个一维数组,然后每个一数组又定义一个数组,然后得到二维数组。

第二种是知道值直接就定义二维数组。

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

举报

0/150
提交
取消

请教,对二维数组的定义方法不理解

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号