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

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

<!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>

问题是这样的,我循环找到了大一的学生,想把找到的大一学生放进一个新数组,然后再从新数组里面全是女的学生名字,求解答

正在回答

4 回答

嗯,我看了一下。你的代码是正确的。我当时是看到你的题目里有个错别字,没有理解清楚你的意思。然后看你创建了一个newArray在循环,以为你可能循环错了。你最后上传的代码比之前的好。

0 回复 有任何疑惑可以回复我~
#1

墨以丶不思量 提问者

非常感谢!么么哒
2017-03-14 回复 有任何疑惑可以回复我~
<!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>

这是拆分后的代码。应该看上去没这么乱,=。=

0 回复 有任何疑惑可以回复我~
<!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("<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>

这是修改后的代码。

0 回复 有任何疑惑可以回复我~

你这样写逻辑肯定是不对的,你需要等大一学生统计完了(for大一学生执行完了之后),才能统计大一的女的。

0 回复 有任何疑惑可以回复我~
#1

墨以丶不思量 提问者

我发现我这样写是对的=。=,原来是我看错了,以为小D是男的。。。。
2017-03-10 回复 有任何疑惑可以回复我~
#2

墨以丶不思量 提问者

还要把i<=infos.length,的=号去掉,写多了一个等号
2017-03-10 回复 有任何疑惑可以回复我~
#3

墨以丶不思量 提问者

可能看着有点乱,我拆分下,重新发你瞅瞅!
2017-03-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468044    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信