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

大神们这哪里错了,怎么输出不了?

    var infos=[['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],
            ['小D','女',21,'大一'],['小E','女',22,'大四'],['小F','男',21,'大一'],
            ['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一']
            ,['小J','男',20,'大三']];
            for(var i=0;i<infos.length;i++){
                for(var j=0;j<infos[i].length;j++){
                    if(infos[i][j]=='大一'&& infos[i][j]=='女'){
                    
                        document.write(infos[i])
                    }
                }
                
            }

提问者:变秃变强 2019-02-19 17:37

个回答

  • 三阳
    2019-02-24 15:31:06
    已采纳

    你这里有问题:  for(var i=0;i<infos.length;i++){
                    for(var j=0;j<infos[i].length;j++){
                        if(infos[i][j]=='大一'&& infos[i][j]=='女'){
                        
                            document.write(infos[i])
                        }
                    }

    二维数组的序号值j不可能同时对应’大一‘和’女‘。j=1时验证是否为女,j=3时验证是否为’大一‘。

  • 宝慕林0461876
    2019-02-19 21:16:29

    你参考一下试试

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

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

      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>");

         }

      }

    </script>