我知道正確的編程的方法,我想知道的是原因。按道理來說此時的arr1[]有十個值,其中四個有值,其余六個未定義,那么為什么第二個循環只能輸出一個值?難道循環里數組索引到空值就自動停止了?<!DOCTYPE ?HTML><html ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>流程控制語句</title><script type="text/javascript">var infos = [? ? ['小A','女',21,'大一'],? ? ['小B','男',23,'大三'], ['小C','男',24,'大四'], ['小C','男',24,'大四'], ['小D','女',21,'大一'], ['小E','女',22,'大四'], ['小F','男',21,'大一'], ['小G','女',22,'大二'], ['小H','女',20,'大三'], ['小I','女',20,'大一'], ['小J','男',20,'大三']];?//第一步把之前的數據寫成一個數組的形式,定義變量為 infos? var arr1=[];? var n=0;? for (var i=0;i<infos.length;i++){? ? ? if (infos[i][3]=="大一"){? ? ? ? ? arr1[n]=infos[i];? ? ? ? ? document.write(arr1[n]+"<br/>")? ? ? ? ??? ? ? }? ? ? n=n+1;? }? document.write("大一人數: "+arr1.length+"<br/>");?//第一次篩選,找出都是大一的信息for (var i=0;i<arr1.length;i++){? ? ? if (arr1[i][1]=="女"){? ? ? ? ? document.write(arr1[i][0]+"<br/>")? ? ? }? }?//第二次篩選,找出都是女生的信息</script></head><body></body></html>
這個程序里在第二個循環里只能輸出一個值
黃志明
2016-03-24 11:48:40