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

为何第一部分执行完后,第二部分无论写什么都不显示呢?第二部分我写了个document.write就是无法显示,哪里出错了?

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>流程控制语句</title>

<script type="text/javascript">

var myinfo=[  

    ['小A','女',21,'大一'],  ['小B','男',23,'大三'],


    ['小C','男',24,'大四'],  ['小D','女',21,'大一'],


    ['小E','女',22,'大四'],  ['小F','男',21,'大一'],


    ['小G','女',22,'大二'],  ['小H','女',20,'大三'],


    ['小I','女',20,'大一'],  ['小J','男',20,'大三']];

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

var sex=new Array();


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


  for(var x=0;x<=myinfo.length;x++){

     if(myinfo[x][3]=="大一"){

        for(var y=0;y<=3;y++){

            

            if (y==3){

            document.write(myinfo[x][y]+"<br>");            

            }else{

            document.write(myinfo[x][y]+"&nbsp");         

            };

        };

     };

    };


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

document.write("第二次筛选:<br>");

  

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

 

 

  

</script>

</head>

<body>

</body>

</html>


提问者:地狱快车_666 2016-05-23 14:56

个回答

  • 如何学习
    2016-05-23 16:58:25
    已采纳

     for(var x=0;x<=myinfo.length;x++)  因为你的长度是从0开始 ,x<=myinfo.length的话for循环没有跳出来,你可以改成x<myinfo.length ,就可以了

  • HenryHuang_
    2016-05-23 17:45:34

    for(var i = 0; i < infos.length; i++) {
       if(infos[i][3] === "大一" && infos[i][1] === "女") {
           document.write(infos[i] + "<br />");
       }
    }

    以上代码是别人的,我看了一下,大神啊!把两个条件“与”操作就是,不用那么复杂。

  • qq_蒋丹丹是枣糕少年_0
    2016-05-23 16:27:42

            if (y==3){

                document.write(myinfo[x][y]+"<br>");            

                }else{

                document.write(myinfo[x][y]+"&nbsp");         

                };

    这两行一样的???

    不用那么复杂筛选两次,用&&即可