雷慕
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"; ……
经过实测,我必须声明的数组大小和后面的赋值语句完全匹配才可以。谁能解答以下我的疑惑?
你可以这么写,var myarr = new Array([]);然后再在下面,来定义,你所定义的myarr[0][0]等一些二维数组的元素
测试能正确的输出必须写成下面这样:
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 />"); }
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 />"); }
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题