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

来源:3-7 二维数组

阿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

   }

 }

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

写回答 关注

6回答

  • ovz_1
    2016-03-18 15:12:07
    已采纳

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

    阿biu

    抱歉呐各位大大,确认晚了点!谢谢你萌!

    2016-03-21 09:55:01

    共 1 条回复 >

  • 阿biu
    2016-03-21 09:56:18

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

  • qq_绿树苍天
    2016-03-18 15:11:53

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

  • 伯爵在城堡_0002
    2016-03-18 15:10:23

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

       }

     }


  • 天秤烱目
    2016-03-18 15:10:11

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

  • znnyer
    2016-03-18 15:07:35

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

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

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468781 学习 · 22507 问题

查看课程

相似问题