为了账号安全,请及时绑定邮箱和手机立即绑定

JS如何把刷选的数组放进去新数组?

JS如何把刷选的数组放进去新数组?

墨以丶不思量 2017-03-10 17:34:43
<!DOCTYPE  HTML> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>流程控制语句</title> <script type="text/javascript">  //第一步把之前的数据写成一个数组的形式,定义变量为 infos  var infos = new Array();  infos=[          ['小A','女',21,'大一'],          ['小B','男',23,'大三'],          ['小C','男',24,'大四'],          ['小D','女',21,'大一'],          ['小E','女',22,'大四'],          ['小F','男',21,'大一'],          ['小G','女',22,'大二'],          ['小H','女',20,'大三'],          ['小I','女',20,'大一'],          ['小J','男',20,'大三'],      ];         //第一次筛选,找出都是大一的信息    // document.write("1.输出都是大一的所有信息:"+"<br/>");    // for(i=0;i<=infos.length;i++)     //{    //   var j=3;    //   if(infos[i][j]=="大一")    //   document.write(infos[i] + "<br/>");    // }  //第二次筛选,找出都是女生的信息  //function num2{     document.write("2.打印出都是大一女生姓名:");     for(i=0;i<=infos.length;i++)     {          var j=3;         if(infos[i][j]=="大一"){             var newarr = new Array();             newarr.push(infos[i]);             for(x=0;x<newarr.length;x++){                 var y=1;                 if(newarr[x][y]=="女"){                     document.write(newarr[x][0]+"<br/>");                                       }                              }                      }     }  //}        </script> </head> <body> </body> </html>问题是这样的,我循环找到了大一的学生,想把找到的大一学生放进一个新数组,然后再从新数组里面全是女的学生名字,求解答.
查看完整描述

3 回答

已采纳
?
天缘星

TA贡献7条经验 获得超3个赞

var infos = new Array();

 infos=[

         ['小A','女',21,'大一'],

         ['小B','男',23,'大三'],

         ['小C','男',24,'大四'],

         ['小D','女',21,'大一'],

         ['小E','女',22,'大四'],

         ['小F','男',21,'大一'],

         ['小G','女',22,'大二'],

         ['小H','女',20,'大三'],

         ['小I','女',20,'大一'],

         ['小J','男',20,'大三'],

     ];

       


var dayiArray =[];//用于记录大一的数组

var girlArray = [];//用于记录女生的数组

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

   var num = infos[i].indexOf("大一");

   if(num!=-1){

      dayiArray.push(infos[i]);

   }

   var num2 = infos[i].indexOf("女");

   if(num!=-1&&num2!=-1){

      girlArray.push(infos[i]);

   }

}

console.log(dayiArray,"大一数组");

console.log(girlArray,"大一女生数组");



放在一起速度快一点,如果你想分开,那你重新便利dayiArray 就可以了

查看完整回答
反对 回复 2017-03-10
  • 墨以丶不思量
    墨以丶不思量
    我发现我这样写也是对的=。=, 原来是我看错了,误以为小D是男的..., 看错了,好尴尬。
  • 墨以丶不思量
    墨以丶不思量
    还要把i<=infos.length,等号去掉,写多了一个等号。
  • 墨以丶不思量
    墨以丶不思量
    我看的你的建议,确实不错,能减少写代码的行数,谢谢了!
?
墨以丶不思量

TA贡献4条经验 获得超1个赞

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">
 //第一步把之前的数据写成一个数组的形式,定义变量为 infos
 infos=[
         ['小A','女',21,'大一'],
         ['小B','男',23,'大三'],
         ['小C','男',24,'大四'],
         ['小D','女',21,'大一'],
         ['小E','女',22,'大四'],
         ['小F','男',21,'大一'],
         ['小G','女',22,'大二'],
         ['小H','女',20,'大三'],
         ['小I','女',20,'大一'],
         ['小J','男',20,'大三'],
     ];
     
    var newarr = new Array();
    var x=0;
 //第一次筛选,找出都是大一的信息
    document.write("1.筛选出是大一学生的所有信息:<br/>");
    for(i=0;i<infos.length;i++)
    {
      var j=3;
      if(infos[i][j]=="大一"){
        newarr[x]=infos[i];
        x++;
        document.write(infos[i] + "<br/>");
      }
    }
 //第二次筛选,找出都是女生的信息
    document.write("<br/>2.筛选出是大一的女生姓名:<br/>");
    for(x=0;x<newarr.length;x++)
    { 
        var y=1;
        if(newarr[x][y]== "女")
               document.write(newarr[x][0] + "<br/>");
    }
 
  
</script>
</head>
<body>
</body>
</html>


查看完整回答
反对 回复 2017-03-10
?
墨以丶不思量

TA贡献4条经验 获得超1个赞

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>
<script type="text/javascript">
 //第一步把之前的数据写成一个数组的形式,定义变量为 infos
 var infos = new Array();
 infos=[
         ['小A','女',21,'大一'],
         ['小B','男',23,'大三'],
         ['小C','男',24,'大四'],
         ['小D','女',21,'大一'],
         ['小E','女',22,'大四'],
         ['小F','男',21,'大一'],
         ['小G','女',22,'大二'],
         ['小H','女',20,'大三'],
         ['小I','女',20,'大一'],
         ['小J','男',20,'大三'],
     ];
        
 //第一次筛选,找出都是大一的信息
    document.write("1.输出都是大一的所有信息:"+"<br/>");
    for(i=0;i<infos.length;i++)
    {
      var j=3;
      if(infos[i][j]=="大一")
      document.write(infos[i] + "<br/>");
}
 //第二次筛选,找出都是女生的信息
    document.write("<br/>2.打印出都是大一女生姓名:<br/>");
    for(i=0;i<infos.length;i++)
    { 
        var j=3;
        if(infos[i][j]=="大一"){
            var newarr = new Array();
            newarr.push(infos[i]);
            for(x=0;x<newarr.length;x++){
                var y=1;
                if(newarr[x][y]=="女"){
                    document.write(newarr[x][0]+"<br/>");    
                } 
            }  
        }
    }
    
     
</script>
</head>
<body>
</body>
</html>


查看完整回答
反对 回复 2017-03-10
  • 3 回答
  • 1 关注
  • 1426 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信