二维数组的声明问题

来源:3-7 二维数组

雷慕

2015-02-10 00:40

我记得在一维数组是可以自动扩充的,比如

var myarr=new Array();
myarr[0]=1;
myarr[1]=2;
myarr[2]=3;

这个时候myarr.length=4,如果我在后面多了一个赋值语句

myarr[3]=4;

则myarr.length=4


但是为什么这个逻辑不适用于二维数组呢?我的意思是说为什么我不能声明一个空的二维数组,然后通过赋值语句自动扩充呢?比如下面这样

var myarr=new Array(["","","",""]);
myarr[0][0]="00";
myarr[0][1]="01";
myarr[0][2]="02";
myarr[0][3]="03";

myarr[1][0]="10";
myarr[1][1]="11";
myarr[1][2]="12";
myarr[1][3]="13";

……

经过实测,我必须声明的数组大小和后面的赋值语句完全匹配才可以。谁能解答以下我的疑惑?

写回答 关注

3回答

  • 康振宁
    2015-02-11 14:39:37
    已采纳

    你可以这么写,var myarr = new Array([]);然后再在下面,来定义,你所定义的myarr[0][0]等一些二维数组的元素 

    雷慕

    非常感谢!

    2015-02-12 00:59:36

    共 2 条回复 >

  • 雷慕
    2015-02-11 14:56:46

    测试能正确的输出必须写成下面这样:

    var arr = new Array([],[]);
        arr[0][0]=0;
        arr[0][1]=1;
        arr[1][0]=2;
        arr[1][1]=3;
        for (var i=0;i<=1;i++){
          document.write(arr[i]+"<br />");
        }


    雷慕 回复康振宁

    突然反映过来了。申请几维的数组,只需要在小括号里写上几个中括号就好了,哈哈。脑子一时浆糊了。

    2015-02-12 01:01:52

    共 3 条回复 >

  • 雷慕
    2015-02-11 14:55:45
    var arr = new Array([]);
        arr[0][0]=0;
        arr[0][1]=1;
        arr[1][0]=2;
        arr[1][1]=3;
        for (var i=0;i<=1;i++){
          document.write(arr[i]+"<br />");
        }


    康振宁

    这种写法中,行不能发生改变,也就是说,只能是一维数组。上面没有说清楚

    2015-02-11 18:10:38

    共 1 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题