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

哪位大牛能帮忙解释一下第二次筛选出女生的姓名?????

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

];

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

   {

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

       {

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

       }

       }


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

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

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

}

}



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

    {

        switch(arm[i][1])

        {

            case '女':

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

        

        }

    } 



 //第一步把之前的数据写成一个数组的形式,定义变量为 infos


 

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

 

  

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


    

</script>

</head>

<body>

</body>

</html>


提问者:qq_枫_ 2016-11-26 15:48

个回答

  • heibaimeng
    2016-11-26 16:21:41

    第二次输出的是:小A 小D 小I;

    在第一次循环中,创建一个新数组去保存第一次筛选的信息;

     var first = new Array();
     var num = 0;

    然后

    first[num] = 第一次输出的一维数组;
    num++;

    再去遍历判断这个first数组的子数组的[1]和输出子数组的[0]

  • 海的那边是海
    2016-11-26 16:03:53

    1. 二维数组:infos[i][j]就是代表infos数组里第i项里的第j项的值,做个&&判断简单些,我用的是第二个.

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

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

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

      }

      }