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

看参考答案绕晕了求解惑

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

  var arr1 = [];

   var n = 0;

   for(var 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/>")


看了半天,大概懂了:

用第一次筛选infos二维【3】为“大一的”,存在arr1的一维里,

第二次筛选一维里【1】为“女生”的元素,输出【0】姓名


但是我加粗的   arr1[n] = infos[i];        、            n=n+1;

这个n到底是什么东西,绕晕了求大神给我缕一缕

提问者:shuban 2019-12-07 11:42

个回答

  • 生尔不凡的道道
    2019-12-07 14:31:02
    已采纳

    题目要求建立一个infos数组来存取数据,标准答案又创建了一个arr1数组并用变量n来代替0,1,2。。这些,在infos数组里面进行循环,如果符合条件就存到arr1数组中,例如第一个存到arr1【0】中,一次循环最后n加一,下一个符合条件的就会存到arr1【1】中,最后筛选出符合条件就是这个新数组arr1的数据。

  • 慕慕731940
    2019-12-07 15:40:45

     var infos = [

            ['小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]=='大一'&&infos[i][1]=='女'){

            document.write(infos[i][0])

        }

     }