求問第二次篩選為何不輸出?
代碼如下:
<script type="text/javascript">
?//第一步把之前的數據寫成一個數組的形式,定義變量為 infos
?var infos=
?[ ?['小A','女',21,'大一'],
? ? ['小B','男',23,'大三'],
? ? ['小C','男',24,'大四'],
? ? ['小D','女',21,'大一'],
? ? ['小E','女',22,'大四'],
? ? ['小F','男',21,'大一'],
? ? ['小G','女',22,'大二'],
? ? ['小H','女',20,'大三'],
? ? ['小I','女',20,'大一'],
? ? ['小J','男',20,'大三'],
?]?
?//第一次篩選,找出都是大一的信息
?for(var i=0;i<=infos.length;i++){
? ? ?if(infos[i][3]=="大一"){
? ? ? ? ?document.write("大一的學生有:"+infos[i]+"<br/><hr>");
? ? ?}?
?}
??
?//第二次篩選,找出都是女生的信息
?for(var i=0;i<=infos.length;i++){
? ? ?if(infos[i][1]=="女"){
? ? ? ? ?document.write("女生有:"+infos[i]+"<br/><hr>");
? ? ?}
?}
如題:
第一次篩選是可以輸出的,第二次篩選如果把第一次注釋掉也可輸出,就是兩個同時存在的時候只能輸出第一個篩選。求解釋一下,初學者!!??!
2015-01-22
for循環中的條件語句不對,i<=infos.length會有數組越界錯誤,應該是i<=infos.length-1或者是i<infos.length
因為i是從0開始的infos.length = 10,按照數組下標的特性,是從0開始到9結束,所以循環條件不對