为什么执行完第一个循环后,就不继续往下运行了

来源:4-10 编程练习

紫星泪happy

2017-03-26 12:58

<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 arr=new Array();

 var n=0;

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

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

        arr[n]=infos[i];

        document.write(arr[n]+"<br>");

        n=n+1;

    }  

 }


 document.write("大一人数: "+arr.length+"<br/>");

 

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

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

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

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

    }

 }  

</script>

输出的结果:
小A,女,21,大一
小D,女,21,大一
小F,男,21,大一
小I,女,20,大一


写回答 关注

2回答

  • 张探长
    2017-03-26 13:25:03
    已采纳

    在你第一个循环中进入了死循环,他一直运行在第一个循环体中

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

    其中 1<infos.length 为 true

    for 语句条件,继续执行!

  • 秋柏桑
    2017-03-26 13:42:37

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

    你把“ i ”写成了“ 1 ”

    紫星泪hap...

    哦,谢谢

    2017-03-27 11:04:04

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题