請教大家,為什么我寫的代碼運行不出來?沒有輸出。
<!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=new Array();
?infos[0]=['小A','女',21,'大一'];
?infos[1]=['小B','男',23,'大三'];
?infos[2]=['小C','男',24,'大四'];
?infos[3]=['小D','女',21,'大一'];
?infos[4]=['小E','女',22,'大四'];
?infos[5]=['小F','男',21,'大一'];
?infos[6]=['小G','女',22,'大二'];
?infos[7]=['小H','女',20,'大三'];
?infos[8]=['小I','女',20,'大一'];
?infos[9]=['小J','男',20,'大三'];
?document.write(infos);
?//第一次篩選,找出都是大一的信息
document.write("所有大一學(xué)生的信息:"+"<br/>");
var arr=new Array();
var n=0;
?for(var i=0;i<infos.length;i++){
???? if (infos[i][3])=="大一"){
???????? document.write(infos[i][0]+"<br/>");
???????? arr[n]=infos[i][0];
???????? n++;
???? }
?}??
?//第二次篩選,找出都是女生的信息
? document.write("所有的女生信息:"+"<br/>");
?for (n=0;n<arr.length;n++){
???? if (infos[n][1])=="女"){
???????? document.write(arr[n][0]+"<br/>");
??????? }
?}
</script>
</head>
<body>
</body>
</html>
2016-11-20
語法錯誤
多了一個反括號。
而且你這個程序邏輯有問題,應(yīng)該將整個數(shù)組賦值給 arr[n]
然后循環(huán) arr ,判斷 arr 的性別。
2016-11-20
你的arr數(shù)組是一維數(shù)組你想輸出arr[n][0]當(dāng)然輸出不了啊,你把第一次篩選時候的arr[n]=infos[i][0];改成arr[n]=infos[i];
然后第二次篩選的時候的if (infos[n][1])=="女")改成if (arr[n][1])=="女")就能通過arr輸出你要的數(shù)據(jù)
2016-11-20
你這樣?這樣定義二維列表不規(guī)范我覺得,而且這樣的思路就算能打印出來也不能篩選出大一女生,會篩選出兩批人,一批大一,一批女生。你可以參考下別人的代碼,看懂理解后,在嘗試自己編寫,我也是新手,多看幾個模板思路在自己操作,一起加油。
2016-11-20
你看下那節(jié)底下其他同學(xué)的代碼,很精簡,沒有你這么麻煩,判斷條件就一句話,if(infos[n][1]="女"&&infos[n][3]=="大一")