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

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

<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,大一


提问者:紫星泪happy 2017-03-26 12:58

个回答

  • 张探长
    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 ”