請教,對二維數組的定義方法不理解
第一種定義方法中,為什么要將下劃線部分寫在上面的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
???}
?}
第二種定義方法,不知道在講什么。。。
2016-03-18
這樣子理解吧:第一個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;
2016-03-21
明白了,謝謝可愛的同學們!
2016-03-18
第一種:myarr先聲明長度為2,即有myarr[0],myarr[1]。再使用for分別為myarr[0],myarr[1]都聲明為一個長度為3的數組,所以總共就是2*3。
2016-03-18
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
多維數組建立在一位數組之上。比如二維數組arr[2][3];他的第一維數組的元素是兩個一維數組,這兩個一維數組中各包含3個元素。
2016-03-18
第一種先定義一個一維數組,然后每個一數組又定義一個數組,然后得到二維數組。
第二種是知道值直接就定義二維數組。