首页 新闻 会员 周边 捐助

将一个用if语句筛选过的二维数组的内容给另一个数组

0
[待解决问题]
题目是先筛选出大一学生,再选出女生,然后显示出名字。
(还有其他写法,但我想知道像下面这种的正确写法)
<script type="text/javascript"> 2 //第一步把之前的数据写成一个数组的形式,定义变量为 infos 3 var infos = [ 4 ['小A', '女', 21, '大一'], 5 ['小B', '男', 23, '大三'], 6 ['小C', '男', 24, '大四'], 7 ['小D', '女', 21, '大一'], 8 ['小E', '女', 22, '大四'], 9 ['小F', '男', 21, '大一'], 10 ['小G', '女', 22, '大二'], 11 ['小H', '女', 20, '大三'], 12 ['小I', '女', 20, '大一'], 13 ['小J', '男', 20, '大三'], 14 ] 15 16 var nianJi = new Array(); //重新定义新数组来装满足条件的数组 17 var j; 18 //第一次筛选,找出都是大一的信息 19 for (var i = 0; i < 10; i++) { 20 if (infos[i][3] == "大一") { 21 document.write(infos[i][0] + "<br>"); 22 nianJi[j] = i;//这里是个空数组,没有赋值。 23 } 24 } 25 26 // //第二次筛选,找出都是女生的信息 27 for (var i = 0; i < nianJi.length; i++) { 28 if (nianJi[j][1] == "女") { 29 document.write(nianJi[j][0] + "<br>"); 30 } 31 } 32 </script>
君莫笑~的主页 君莫笑~ | 菜鸟二级 | 园豆:202
提问于:2017-08-01 20:57
< >
分享
所有回答(4)
0
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
        var infos = [
            ['小A', '女', 21, '大一'],
            ['小B', '男', 23, '大三'],
            ['小C', '男', 24, '大四'],
            ['小D', '女', 21, '大一'],
            ['小E', '女', 22, '大四'],
            ['小F', '男', 21, '大一'],
            ['小G', '女', 22, '大二'],
            ['小H', '女', 20, '大三'],
            ['小I', '女', 20, '大一'],
            ['小J', '男', 20, '大三'],
        ]; 
var info=infos.filter(function(item){
         if(item[3]=="大一"&&item[1]== "女"){return true;}
});

console.log(info);// info就是根据条件过滤后的数据
悟行 | 园豆:12559 (专家六级) | 2017-08-01 21:49

首先感谢您抽出宝贵时间来帮我解答,您的这种写法我会,我希望教我的是在筛选完大一学生后,将大一学生放到一个新数组里,然后再用这个装有大一学生的新数组筛选女生,我不会筛选完大一学生,然后把这些学生的信息给另一个信数组

支持(0) 反对(0) 君莫笑~ | 园豆:202 (菜鸟二级) | 2017-08-01 22:13
0

nianJi[j] = i;//这里是个空数组,没有赋值。

改成nianJi[j] = infos[i];

 

codingHeart | 园豆:1511 (小虾三级) | 2017-08-02 09:11

感谢您抽出宝贵时间帮我解答!

支持(0) 反对(0) 君莫笑~ | 园豆:202 (菜鸟二级) | 2017-08-02 16:02
0

nianJi .=infos[i]

寞小陌 | 园豆:104 (初学一级) | 2017-08-02 09:44

感谢您抽出宝贵时间帮我解答

支持(0) 反对(0) 君莫笑~ | 园豆:202 (菜鸟二级) | 2017-08-02 16:02
0
         //第一次筛选,找出都是大一的信息
         for (var i = 0; i < 10; i++) {
             if (infos[i][3] == "大一") {
                 document.write(infos[i][0] + "<br>");
                 nianJi.push(infos[i]);//添加这一步即可
             }
         }
 
      
与阳光握手言和 | 园豆:373 (菜鸟二级) | 2017-08-02 11:00

感谢您抽出宝贵时间帮我解答,我会认真学习的。

支持(0) 反对(0) 君莫笑~ | 园豆:202 (菜鸟二级) | 2017-08-02 16:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册