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

新手上路,求指点。没有输出结果!

<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 i;

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

    {

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

    document.write("我是"+infos[i][3]+"的学生"+'<br>');

    }

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

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

    document.write("我是"+infos[i][1]+'<br>');

    }

 }

</script>


提问者:慕先生8467654 2018-12-11 16:22

个回答

  • 慕移动5083425
    2018-12-20 15:34:39

    给你个参考

    <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(infos[1]);

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

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

                 {

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

                     {

                         document.write("第一次筛选大一数据:"+infos[i] +"<br/>");

                     }

                 }

                  

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

                 

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

                 {

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

                     {

                         document.write("第二次筛选数据:"+infos[i][0] +"<br/>");

                     }

                 }

            </script>    


  • 一栩
    2018-12-14 19:56:33

    首先你在for循环条件中末尾多了一个分号“;“      if判断为大一的地方用中文状态的输入法输出了‘

    其次,在这道题目中,应该用双重if判断。你在这里写的两个if判断只是把是大一的人找出然后再把是女生的人找出,如果把第二个if判断放在第一个if判断中,那么中间就会加一个并且,是大一的并且是女生的。

  • 阳火锅
    2018-12-11 17:05:56

    根据老夫30年代码的观写经验来看,随便一瞟发了很大的漏洞。

    首先你这是一个二维数组,你的第一个循环 for(i=0;i<infos.length;i++;) 只把['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四']...等等,这些组循环出来了。。并没有把每一个大组里面的小组值取到。。

    所以你应该用双层循环:

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

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

        然后这个里面就是你写的if那些判断了。。

    }

    }


    去试着写一下吧。。有不懂再问我。。望采纳