多維數(shù)組的創(chuàng)建及賦值
<!DOCTYPE??HTML> <html?> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>流程控制語句</title> <script?type="text/javascript"> ? ?//第一步把之前的數(shù)據(jù)寫成一個數(shù)組的形式,定義變量為?infos ??var?infos?=? ?[ ????????['小A','女',21,'大一'], ????????['小B','男',23,'大三'], ???? ['小C','男',24,'大四'], ???? ['小D','女',21,'大一'], ???? ['小E','女',22,'大四'], ????????['小F','男',21,'大一'], ???? ['小G','女',22,'大二'], ???? ['小H','女',20,'大三'], ???? ['小I','女',20,'大一'], ???? ['小J','男',20,'大三'] ??]; document.write("總人數(shù):?"+infos.length+"<br/><br/>");?? ?? ?//第一次篩選,找出都是大一的信息 ?? ??var?arr?=?[]; ???var?n?=?0; ???for(var?i=0;i<infos.length;i++){? ????????if(?infos[i][3]?==?"大一"?){?? ???????????arr[n]=?infos[i]; ????????????document.write(arr[n]+"<br/>"); ???????????n=n+1; ????????????? ????????}?? ???} ???? ???document.write("大一總人數(shù):?"+arr.length+"<br/><br/>");?? ???document.write("大一女生有:?"+"<br/>");? ?//第二次篩選,找出都是女生的信息 ? ??????for(var?i=0;i<arr.length;i++){? ????????//這里可以用switch?? ????????if(arr[i][1]=='女') ????????{?document.write(arr[i][0]+"<br/>");} ????}????? ? </script> </head> <body> </body> </html>
其中我存在疑惑的是這一部分:
為什么句1,句2不能寫成:
?var?arr?=?[][]; ?arr[n][]=?infos[i][];
arr和infos都是二維數(shù)組,原寫法意在將兩個都當做一維數(shù)組,將一組值寫入一個元素中;但是為什么我這樣就把它當做二維數(shù)組寫,會是錯的,請問錯在什么地方?
2015-12-04
因為arr[n][]并不是一個變量,這樣寫沒法賦值
實際上不帶中括號的a才表示二維數(shù)組,二維數(shù)組之間賦值也該寫成a=infos,只是已經(jīng)偏離你的本意了。
你的意思大概是2處變成
for(var j=0;j<arr[n].length;j++){
????arr[n][j]=infos[i][j];
}