求问第二次筛选为何不输出?

来源:4-10 编程练习

QingYuner

2015-01-22 10:57

代码如下:

<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,'大三'],

 ] 

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

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

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

         document.write("大一的学生有:"+infos[i]+"<br/><hr>");

     } 

 }

  

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


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

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

         document.write("女生有:"+infos[i]+"<br/><hr>");

     }

 }

如题:

第一次筛选是可以输出的,第二次筛选如果把第一次注释掉也可输出,就是两个同时存在的时候只能输出第一个筛选。求解释一下,初学者!!!!

写回答 关注

1回答

  • 康振宁
    2015-01-22 14:06:55

    for循环中的条件语句不对,i<=infos.length会有数组越界错误,应该是i<=infos.length-1或者是i<infos.length

    因为i是从0开始的infos.length = 10,按照数组下标的特性,是从0开始到9结束,所以循环条件不对

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题