永发信息网

关于JS的问题(设计二维数组)

答案:2  悬赏:80  手机版
解决时间 2021-03-03 02:04
  • 提问者网友:聂風
  • 2021-03-02 18:47
编程练习
在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,分别是姓名、性别、年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦。
学生信息如下:
('小A','女',21,'大一'), ('小B','男',23,'大三'),
('小C','男',24,'大四'), ('小D','女',21,'大一'),
('小E','女',22,'大四'), ('小F','男',21,'大一'),
('小G','女',22,'大二'), ('小H','女',20,'大三'),
('小I','女',20,'大一'), ('小J','男',20,'大三')
=================
提示及要求
第一步: 把这些数据组成一个数组,方便我们之后操作哦。
提示: 使用二维数组。
第二步: 筛选数据吧,首先找出都是大一的所有信息 ;
第三步: 最后再一次筛选上一步得到的数据,打印出都是女生的姓名 ;
提示: 可以用switch 或 if 语句进行筛选。
===================
<script type="text/javascript">

//第一步把之前的数据写成一个数组的形式,定义变量为 infos
var myarr = [['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小D','女',21,'大一'],['小E','女',22,'大四'],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一'],['小J','男',20,'大三']]
//第一次筛选,找出都是大一的信息
firarry = new Array();
for(var i=0;i<10;++i){
if(myarr[i][3]=='大一'){
firarry = myarr[i]
document.write(firarry);
}
}
//第二次筛选,找出都是女生的信息
for(var j=0;j<4;++j){
if(firarry[j][1]=='女')
document.write(firarry[j][0]);
}
</script>
最佳答案
  • 五星知识达人网友:人類模型
  • 2021-03-02 19:13
直接给你代码,对你的代码微略的做了修改。你对照看,就知道你的错误了!
 var myarr = [['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小D','女',21,'大一'],['小E','女',22,'大四'],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一'],['小J','男',20,'大三']];
  //第一次遍历
  var dayi=[];//声明一个数组,用于存放大一学生
  for(var i=0;i<myarr.length;i++){
    if(myarr[i][3]=="大一"){
      //将大一学生加入到一个新的数组中
      dayi.push(myarr[i]);
      console.log(myarr[i]);
    }
  }
//找出都是女生的信息,遍历新的数组
for(var j=0;j<dayi.length;j++){
    if(dayi[j][1]=='女')
    document.write("姓名:"+dayi[j][0]+" 年龄:"+dayi[j][2]+"\r\n");
    }
全部回答
  • 1楼网友:洒脱疯子
  • 2021-03-02 19:32
把筛选到的数据插入新数组的时候有问题 firarray.push(myarr[i]); // 这样才是正确的数组添加元素的方法
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯