請問一下我哪里出問題了?
<!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("第一次篩選,找出都是大一的信息"+"<br>");
?var temp=[];
for(i=0;i<infos.length;i++){
? ? ?for(j=0;j<infos[i].length;j++){
? ? ? ? ?if(infos[i][j]=='大一'){
? ? ? ? ? ? temp[i]=infos[i];
? ? ? ? ? ? document.write("["+temp[i]+"]"+"<br/>");
? ? ? ? ?}
? ? ?}
?}
?
?//第二次篩選,找出都是女生的信息
?document.write("第二次篩選,找出都是女生的信息"+"<br>");
for(i=0;i<temp.length;i++){
? ? ?for(j=0;j<temp[i].length;j++){
? ? ? ? ?if(temp[i][j]=='女')
? ? ? ? ? ? document.write("["+temp[i][0]+"]"+"<br/>");
? ? ?}
?}
</script>
</head>
<body>
</body>
</html>
效果圖:第一次沒問題,為什么第二次只出來一條。
2019-01-16
如果你想把第一次篩選的結(jié)果都存放到temp中,用temp[i]=infos[i];是不對的。因為對于不是大一的學(xué)生,temp也會給他空對應(yīng)的位置,只不過值為空。temp里的數(shù)據(jù)如下:
[小A,女,21,大一]
[undefined]
[undefined]
[小D,女,21,大一]
[undefined]
[小F,男,21,大一]
[undefined]
[undefined]
[小I,女,20,大一]
你可以參考以下的方法來設(shè)置,保證temp中沒有空值。
2022-03-24
話說這種邊學(xué)習(xí)邊練習(xí)的方式,實在是太好了,太棒了!你不貼代碼別人怎么給你解決,要么就是你寫錯了你好看看