關(guān)于第四章編程練習(xí)答案的疑問(wèn)
??var?arr1?=?[];?//新建一個(gè)數(shù)組的原因是不和infos重合嗎?
???var?n?=?0;??//為什么要聲明一個(gè)n變量,并且賦值為0?
???for(var?i=0;i<infos.length;i++){?
????????if(?infos[i][3]?==?"大一"?){??//infos[i][3]的含義是不是指“數(shù)組索引號(hào)i與3”???
???????????arr1[n]?=?infos[i];
????????????document.write(arr1[n]+"<br/>");
???????????n=n+1;
????????????
????????}??
???}用注釋寫在語(yǔ)言里
2015-10-11
全部js代碼與注釋如下
//?第一步把之前的數(shù)據(jù)寫成一個(gè)數(shù)組的形式,定義變量為?infos ?var?infos?=?[?['小A','女',21,'大一'],??['小B','男',23,'大三'], ????['小C','男',24,'大四'],??['小D','女',21,'大一'], ???['小E','女',22,'大四'],?['小F','男',21,'大一'], ????['小G','女',22,'大二'],??['小H','女',20,'大三'], ????['小I','女',20,'大一'],??['小J','男',20,'大三']]; ??? ?var?arr?=?[];?//?定義一個(gè)數(shù)組 //?第一次篩選,找出都是大一的信息(數(shù)組arr1) ??for(var?i=0;i<infos.length;i++){? ???????if(?infos[i][3]?==?"大一"?){???????????//?篩選所有大一學(xué)生信息? ??????????arr.push(infos[i]);?????????????????//?將其置于新數(shù)組?????????????? ???????}?? ??} ?//?第二次篩選,找出都是女生的信息(并打印出來(lái)) for(var?i=0;?i<arr.length;i++){ ??if(arr[i][1]?==?'女'){????????????????????//?篩選新數(shù)組中的所有女生 ????document.write(arr[i][0]+"<br/>");???????//?打印姓名 ??} }2015-10-12
infos[i][3] 是個(gè)二維數(shù)組, 你可以把它看作是個(gè)張Excel表格,其中i決定的是行,3則代表列,整個(gè)合起來(lái)指向一個(gè)單元格。需要注意的是在索引值默認(rèn)都是從0開始的(這也是n的初始值為什么通常是0的原因),所以這里的3其實(shí)就是第4列。至于if中的條件,你需要分析觀察infos二維數(shù)組內(nèi)容結(jié)構(gòu)。
infos二維數(shù)組看成表,則表示一個(gè)10行4列的表,其中每列依次表示為:姓名,性別,年齡,年級(jí)。理解這些,你就可以很清晰的知道infos[i][3]指獲取年級(jí)。
若還不能理解,打開Excel表比劃比劃。不明白if 是你需要加強(qiáng)數(shù)組學(xué)習(xí)。有時(shí)候慢就是快……
2015-10-12
if中的條件是指的什么意思呢