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

再声明二维 为什么里面是i 这不是一维的值吗

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

正在回答

4 回答

其实这个循环是双层循环,外层循环的是行,内层循环的是列。形式就像算数乘法表;你看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

这样二维数组就出来了,三行四列



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

翻瑜

懂了 是因为还没学到循环
2016-11-02 回复 有任何疑惑可以回复我~

先声明是个人理解,如有错误请指正~~~~

  1. 一维数组比喻一个大盒子,大盒子里面有一个红色盒子、一个蓝色盒子、一个黄色盒子。。。以此类推

    var box=[红色盒子,蓝色盒子,黄色盒子]

  2. 二维数组比喻一个大盒子里有一些不同颜色盒子,每个颜色的盒子里又放了其它东西,比如上面红色盒子里放了铅笔、蓝色盒子里放了圆珠笔、黄色盒子里放了钢笔。。。

    var box=[[铅笔],[圆珠笔],[钢笔]]  

  3. 再来理解  “myarr[i]=new Array();  //再声明二维 ”这里的myarr[i]能不能把它看成一个整体,类似MYarr=myarr[i],就是MYarr长度为3,只是MYarr是数组“var myarr=new Array();  //先声明一维”里面的某一个值

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

房间是一维的,箱子是二维的

那我给箱子放东西是不是要这样说

第一个房间  myarr[i]=new Array();

第一个房间的第一个箱子 放 1+1   myarr[i][j]=i+j;  

第一个房间的第二个箱子 放 1+2

第一个房间的第三个箱子 放 1+3

第二个房间

第二个房间的第一个箱子 放 1+1

第二个房间的第二个箱子 放 2+2

第二个房间的第三个箱子 放 3+3


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

在myarr中已经是一维的了,在myarr[i]的基础上再创建一个数组就是二维的啊

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

举报

0/150
提交
取消

再声明二维 为什么里面是i 这不是一维的值吗

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

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

帮助反馈 APP下载

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

公众号

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