再聲明二維 為什么里面是i 這不是一維的值嗎
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
? }
}
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-08-20
舉報
2016-08-25
其實這個循環是雙層循環,外層循環的是行,內層循環的是列。形式就像算數乘法表;你看i的取值,它是在for循環里面i可取0,1,在接下來看當i=0;那么創建了myarr【0】這個一維數組,j=0,就創建了
myarr[0][0]=0;
代碼繼續執行:
? ? ? ? ? ?i ? ?j ?= i+j ? ?(方便表示對應得關系 )
myarr[0][1]=0+1;
myarr[0][2]=0+2;
形成表格: ?i表示行 J表示列 (2行3列)
0 ? ?1 ? ? 2
1 ? ?2 ? ? 3?
開始我也不理解,我想我懂了,再結合,二維數組怎么來的,從一維數組演變而來;那么問題來了,var arr = [[1, 2, ,3, 4], [5, 6, 7, 8], [9, 10, 11, 12]];怎么看成一維數組呢?
首先上面可以讓我們想到在創建一維數組的案例中有var arr=[1,2,3],相當于放了三個盒子從上擺下(三行);對應二維數組中【1,2,3,4】表示第一行;【5,6,7,8】表示第二行;【9,10,11,12】表示第三行;一維數組的長度對應二維數組的行數;那么再看var ?arr= 【1,2,3,4】,放了4個數;在二維中就是在第一個盒子中放了四個數;以此類推:
第一行 ? ?1 ? ? ?2 ? ? ? ?3 ? ? ? ?4
第二行 ? ?5 ? ? ?6 ? ? ? ?7 ? ? ? ?8
第三行 ? ?9 ? ? 10 ? ? ?11 ? ? ? 12
這樣二維數組就出來了,三行四列
2016-08-20
先聲明是個人理解,如有錯誤請指正~~~~
一維數組比喻一個大盒子,大盒子里面有一個紅色盒子、一個藍色盒子、一個黃色盒子。。。以此類推
var box=[紅色盒子,藍色盒子,黃色盒子]
二維數組比喻一個大盒子里有一些不同顏色盒子,每個顏色的盒子里又放了其它東西,比如上面紅色盒子里放了鉛筆、藍色盒子里放了圓珠筆、黃色盒子里放了鋼筆。。。
var box=[[鉛筆],[圓珠筆],[鋼筆]] ?
再來理解 ?“myarr[i]=new Array(); ?//再聲明二維 ”這里的myarr[i]能不能把它看成一個整體,類似MYarr=myarr[i],就是MYarr長度為3,只是MYarr是數組“var myarr=new Array(); ?//先聲明一維”里面的某一個值
2016-08-20
房間是一維的,箱子是二維的
那我給箱子放東西是不是要這樣說
第一個房間 ?myarr[i]=new Array();
第一個房間的第一個箱子 放 1+1 ??myarr[i][j]=i+j; ?
第一個房間的第二個箱子 放 1+2
第一個房間的第三個箱子 放 1+3
第二個房間
第二個房間的第一個箱子 放 1+1
第二個房間的第二個箱子 放 2+2
第二個房間的第三個箱子 放 3+3
2016-08-20
在myarr中已經是一維的了,在myarr[i]的基礎上再創建一個數組就是二維的啊