在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,分别是姓名、性别、年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦。学生信息如下:    ('小A','女',21,'大一'),  ('小B','男',23,'大三'),    ('小C','男',24,'大四'),  ('小D','女',21,'大一'),    ('小E','女',22,'大四'),  ('小F','男',21,'大一'),    ('小G','女',22,'大二'),  ('小H','女',20,'大三'),    ('小I','女',20,'大一'),  ('小J','男',20,'大三')任务
第一步: 把这些数据组成一个数组,方便我们之后操作哦。提示: 使用二维数组。
第二步: 筛选数据吧,首先找出都是大一的所有信息 ;第三步: 最后再一次筛选上一步得到的数据,打印出都是女生的姓名 ;提示: 可以用switch 或 if 语句进行筛选。
这个怎么写?

解决方案 »

  1.   

    用json最方便了,不要用二维数组啊
      

  2.   

    //json数组,以此类推
    var students = [{"name":"小A", "sex":"女", "age":21, "grad":"大一"}, {"name":"小B", "sex":"男", "age":23, "grad":"大三"}];
    for(var student in students){
    if(student.grad == '大一'){
    console.log(student.name);
    }
    }
      

  3.   

    //json数组,以此类推
    var students = [{"name":"小A", "sex":"女", "age":21, "grad":"大一"}, {"name":"小B", "sex":"男", "age":23, "grad":"大三"}];
    for(var index in students){
    if(students[index].grad == '大一'){
    console.log(students[index].name);
    }
    }
      

  4.   

    上面的数组参考var students = [{"name":"小A", "sex":"女", "age":21, "grad":"大一"}, {"name":"小B", "sex":"男", "age":23, "grad":"大三"}........];
     var nameList = students.filter(function(v){
       return v.sex=="女"&&v.grad=="大一";
    }).map(function(v){
      return v.name;
    })
    console.log(nameList);
    //nameList 就是大一女生名字数组
      

  5.   

    为什么第一段代码可以运行出来所有大一学生的信息第二段代码却运行不出来大一女生的信息第三段代码可以运行出来?
     var infos=new Array(['小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<10;i++)
      {
        
        for(var j=0;j<4;j++)
        {
         if(infos[i][j]=="大一")
            {
                
            document.write("<br>"+infos[i]); 
           
            }
           
        }
         
      }
    ----------------------------------------------------------------------------------------------------------
     var infos=new Array(['小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<10;i++)
      {
        
        for(var j=0;j<4;j++)
        {
         if(infos[i][j]=="大一"&&infos[i][j]=="女")
            {
                
            document.write("<br>"+infos[i]); 
           
            }
           
        }
         
      }
    -------------------------------------------------------------------------------------------------------------------------------
     var infos=new Array(['小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<10;i++)
      {
          if(infos[i][3]=="大一"&&infos[i][1]=="女")
            {
                document.write("<br>"+infos[i][0]); 
            }
       }
              
      

  6.   

    info[i] : 个人信息
    遍历,if年级
    info[i][j] : 不包括年级的个人信息,年级信息由i保存, i=0大一,
    遍历, if性别
    这样说应该很清楚了吧。