为了账号安全,请及时绑定邮箱和手机立即绑定

请问一下我哪里出问题了?

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>流程控制语句</title>

<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,'大三']];

    

 //第一次筛选,找出都是大一的信息

 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>

效果图:第一次没问题,为什么第二次只出来一条。

https://img1.sycdn.imooc.com//5c3ef4fc0001f1f304840258.jpg

正在回答

2 回答

如果你想把第一次筛选的结果都存放到temp中,用temp[i]=infos[i];是不对的。因为对于不是大一的学生,temp也会给他空对应的位置,只不过值为空。temp里的数据如下:

[小A,女,21,大一]
[undefined]
[undefined]
[小D,女,21,大一]
[undefined]
[小F,男,21,大一]
[undefined]
[undefined]
[小I,女,20,大一]

你可以参考以下的方法来设置,保证temp中没有空值。

https://img1.sycdn.imooc.com//5c3f2d3100019bb005440242.jpg

0 回复 有任何疑惑可以回复我~
#1

qq_慕斯7122577 提问者

懂了 谢谢!
2019-01-19 回复 有任何疑惑可以回复我~

话说这种边学习边练习的方式,实在是太好了,太棒了!,

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问一下我哪里出问题了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信