为什么没输出第二次筛选结果

来源:4-10 编程练习

丶无伤幽幻灬

2016-02-23 16:25

<!DOCTYPE  HTML>

<html >

<head>

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

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

<script type="text/javascript">

var infos= new Array(


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


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


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


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


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


);

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

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

 

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

     

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

        

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

        

    }

}

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

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

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

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

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

      }

  }

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

 

 

  

</script>

</head>

<body>

</body>

</html>



写回答 关注

4回答

  • 天道总司
    2016-02-23 16:52:12
    已采纳

    第一个for循环条件中的“<=”改成“<”。

    否则你的代码永远无法跳出for循环,因为i最大只能到9(记住数组是从0开始的),而infos的长度为10。

    丶无伤幽幻灬

    非常感谢!

    2016-02-23 16:54:10

    共 1 条回复 >

  • LFJ1
    2016-02-23 17:09:36

    第一个for循环条件中的“<=”改成“<”。

  • 心倾沁
    2016-02-23 17:05:28

    yao把第二次放在第一次里面! 或者  for(条件1  &&  条件2)这样啊

  • qq_摩根阿尔法_0
    2016-02-23 16:51:54

     应该把第二次的嵌套在第一次内,因为筛选出大一的就结束了

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题