此代码中为什么要写上n=n+1

来源:4-10 编程练习

慕粉4296402

2016-10-28 16:59

 var infos=[
     ['小A','女',21,'大一'],
     ['小B','男',23,'大三'],
     ['小C','男',24,'大四'],
     ['小D','女',21,'大一'],
     ['小E','女',22,'大四'],
     ['小F','男',21,'大一'],
     ['小G','女',22,'大二'],
     ['小H','女',20,'大三'],
     ['小I','女',20,'大一'],
     ['小J','男',20,'大三'],
     ]    
 
 //第一次筛选,找出都是大一的信息
 var arr1=[];
 var n=0
 for(i=0;i<infos.length;i++){
     if(infos[i][3]=="大一"){
          arr1[n] = infos[i];
      document.write( arr1[n]+"<br>");
      n=n+1
     }
     }
     document.write("大一人数为:"+arr1.length+"<br>")
    
  
 //第二次筛选,找出都是女生的信息
 
 for(i=0;i<arr1.length;i++){
     if(arr1[i][1]=="女"){
         document.write(arr1[i][0]+"<br>")
     }
 }


写回答 关注

2回答

  • HoneyChinos
    2016-10-28 17:11:58
    已采纳

     n=n+1 就是n++

    写入了arr1的第n个元素之后,就走到下一个元素(也就是n+1)处,在下一次循环到的时候写入。

    慕粉4296...

    非常感谢!

    2016-10-28 21:28:24

    共 1 条回复 >

  • 花椒change
    2016-10-28 17:26:18

    var n=0

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

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

              arr1[n] = infos[i];

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

          n=n+1;//少了分号

         }

    }

    第一次循环的时候n=0,i=0,所以有arr1[0]=infos[i],

    但第二次循环的时候i++=1;而n的值没有变,还是0;所以为了让arr1[1]=infos[1]对应,所以n=n+1;

    清楚了么?

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题