问答详情
源自:4-10 编程练习

为什么到最后只筛选出了小I?

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

     

     

 

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

 var dy= new Array();

 for(var i=0;i<infos.length;i++){

     var j=0

     if(infos[i][3]=="大一"){

         dy[j]=infos[i];

       

         j++;

     }

     }

  

 //第二次筛选,找出都是女生的信息

 for(var k=0; k<dy.length;k++){

     if(dy[k][1]=="女"){

         document.write(dy[k])

         

     }

 }

 

  

</script>

</head>

<body>

</body>

</html>

上面是代码,得到的结果是


小I,女,20,大一

提问者:慕前端1842812 2016-08-03 17:33

个回答

  • 慕粉1468482729
    2016-08-05 22:45:53
    已采纳

    var i=0;

    for(i=0;i<10;i++){

     if((infos[i][3]=='大一')&&(infos[i][1]=='女')){

         

             document.write(infos[i][0]+"<br/>");

        

     }

    }


  • 慕前端1842812
    2016-08-03 17:50:54

    自己琢磨了一会儿,发现了问题,是第一个for里面var j=0的位置没选对,应该把它在for外面的,要不然每次循环开始之后都要把j赋值成0,现在问题解决啦~