为什么二次筛选运行不出来

来源:4-10 编程练习

慕勒5015391

2019-10-31 11:05

<!DOCTYPE  HTML>

<html >

<head>

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

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

<script type="text/javascript">


var infos=[ ['小A','女',21,'大一'],  

['小B','男',23,'大三'],


    ['小C','男',24,'大四'], 

    ['小D','女',21,'大一'],


    ['小E','女',22,'大四'], 

    ['小F','男',21,'大一'],


    ['小G','女',22,'大二'], 

    ['小H','女',20,'大三'],


    ['小I','女',20,'大一'], 

    ['小J','男',20,'大三']];//第一步把之前的数据写成一个数组的形式,定义变量为 infos

 

 document.write("第一次筛选,找出都是大一的信息"+'<br>');

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

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

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

         

     }

    

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

   

 document.write("第二次筛选,找出都是大一女生的信息"+'<br>');

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

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

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

         

    

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

    

     }

 }

 

  

</script>

</head>

<body>

</body>

</html>


写回答 关注

4回答

  • 麻辣烫不加辣
    2020-01-18 09:31:17
      document.write("第一次筛选,找出都是大一的信息<br/>");
      for(i=0;i<infos.length;i++)
      {
           if(infos[i][3]=="大一")
           {
                document.write(infos[i]+"<br/>");
           }
       }

    第一次筛选里的for循环条件,i<=infos.length,改为i<infos.length,即可。

    因为你的循环次数超过了数组本身长度导致了错误。

  • 麻辣烫不加辣
    2020-01-18 09:29:03
      document.write("第一次筛选,找出都是大一的信息<br/>");  for(i=0;i<infos.length;i++)  {     if(infos[i][3]=="大一")     {          document.write(infos[i]+"<br/>");     }  }


  • 晓之蛇
    2019-11-04 16:01:46

    要不直接把大一女生筛选出来?

    var infos = [        
        ['小A', '女', 21, '大一'],        
        ['小B', '男', 23, '大三'],        
        ['小C', '男', 24, '大四'],        
        ['小D', '女', 21, '大一'],        
        ['小E', '女', 22, '大四'],        
        ['小F', '男', 21, '大一'],        
        ['小G', '女', 22, '大二'],        
        ['小H', '女', 20, '大三'],        
        ['小I', '女', 20, '大一'],        
        ['小J', '男', 20, '大三']    
        ];    
    var i = 0;    
    document.write("大一女生有:<br>")    
    for(i=0;i<infos.length;i++){    	
        if(infos[i][3]=="大一"&&infos[i][1]=="女"){    		
            document.write(infos[i][0]+"<br>"); //输出大一且女生的姓名   	
        }    
    }


  • 慕九州1332044
    2019-10-31 14:33:56

    最后一行 document.write(infos[i][0]+"br")

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题