亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

二維數組的聲明問題

我記得在一維數組是可以自動擴充的,比如

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 回答

你可以這么寫,var myarr = new Array([]);然后再在下面,來定義,你所定義的myarr[0][0]等一些二維數組的元素?

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

雷慕 提問者

測試了不行。必須寫成var myarr= new Array([],[])才能正確輸出。 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 回復 有任何疑惑可以回復我~
#2

雷慕 提問者

非常感謝!
2015-02-12 回復 有任何疑惑可以回復我~

測試能正確的輸出必須寫成下面這樣:

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?/>");
????}


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

康振寧

那你這不是解決了嗎?還有什么不懂的嗎?
2015-02-11 回復 有任何疑惑可以回復我~
#2

雷慕 提問者 回復 康振寧

是的。謝謝了!
2015-02-12 回復 有任何疑惑可以回復我~
#3

雷慕 提問者 回復 康振寧

突然反映過來了。申請幾維的數組,只需要在小括號里寫上幾個中括號就好了,哈哈。腦子一時漿糊了。
2015-02-12 回復 有任何疑惑可以回復我~
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?/>");
????}


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

康振寧

這種寫法中,行不能發生改變,也就是說,只能是一維數組。上面沒有說清楚
2015-02-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

二維數組的聲明問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號