看下面的代码,我想在info[i]的基础上筛选出第二步,请问哪里有问题?实现不了啊!

来源:4-10 编程练习

easyschen

2015-10-26 10:28

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

    }

 }

 

 var infoss = new Array();

 infoss[] ==infos[i];

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

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

     if(infos[j][1]=='女'){

         document.write("筛选的是:"+infos[j]+"</br>");

     }

 }

 


写回答 关注

2回答

  • 出世Sunny
    2015-10-28 10:01:31

    语法错了,而且第二个定义没有必要,要么在第一个if里用&&把另一个筛选条件写出来,要么就用嵌套的if写第二个筛选条件。

  • Y_du
    2015-10-26 10:41:12
    <!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 infoss = new Array(); //在这定义一个新的数组
     for(var i=0;i<infos.length;i++){
        if(infos[i][3]=='大一'){
            document.write("筛选的是:"+infos[i]+"</br>");
            infoss.push(infos[i]); //把你选择好的元素重新放到你刚定义的数组中
        }
     }
     
    
     //第二次筛选,找出都是女生的信息
     for(var j=0;j<infoss.length;j++){ //nfoss.lengt
         if(infoss[j][1]=='女'){
             document.write("筛选的是:"+infoss[j]+"</br>");
         }
     }
     
      
    </script>
    </head>
    <body>
    </body>
    </html>

    infoss[] ==infos[i]; 这样的写法是不能赋值到数组里面的。

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468871 学习 · 22582 问题

查看课程

相似问题