大神帮忙看一下啊-,这个要怎么改

来源:4-10 编程练习

卡兰尼克

2016-11-01 09:10

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title></title>

<script type="text/javascript">

var infos = new Array();

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

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

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

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

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

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

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

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

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

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

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

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

infos[i]=new Array();

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

{if(infos[i][3]=="大一"&&infos[j][1]=="女")

{ document.write(infos[i][j] )

}

</script>

</head>

<body>

</body>

</html>

晕了 - -。。。。

写回答 关注

5回答

  • IvanAstrochicha
    2016-11-02 21:51:09

    <!DOCTYPE  HTML>

    <html >

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>流程控制语句</title>

    <script type="text/javascript">

     //第一步把之前的数据写成一个数组的形式,定义变量为 infos

     var infos = [['小A','女',21,'大一'],['小B','男',23,'大三'],

        ['小C','男',24,'大四'],['小D','女',21,'大一'],

    ['小E','女',22,'大四'],['小F','男',21,'大一'],

    ['小G','女',22,'大二'],['小H','女',20,'大三'],

    ['小I','女',20,'大一'],['小J','男',20,'大三']];


    //第一次筛选,找出都是大一的信息

    var newInfos = new Array();

    var count = 0;

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

    switch(infos[i][3]){

    case '大一':newInfos.push(infos[i]);

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

    document.write(newInfos[count][j]+"&nbsp");

    }

    count ++;

    document.write("<br>");

    case '大二':continue;

    case '大三':continue;

    case '大四':continue;

    }

    }

      document.write("--------------------<br/>");


    //第二次筛选,找出都是女生的信息

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

    switch(newInfos[i][1]){

    case '女':

    for (var j = 0; j < newInfos[i].length; j++) {

    document.write(newInfos[i][j]+"&nbsp");

    }

    document.write("<br>");

    case '男': continue;

    }

    }

      

    </script>

    </head>

    <body>

    </body>

    </html>


  • 暖光4321513
    2016-11-01 14:42:14

    var infos =[['小A','女',21,'大一'],

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

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

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

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

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

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

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

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

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

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

    for(var i=0;i<infos.length;i++) //第一次筛选,找出都是大一的信息

     {

      if(infos[i][3]=='大一')

     { var arr=new Array(); 

    var n=0;

        arr[n]=infos[i];//前面声明arr是新的数组,让一维数组[0]=二维数组[0],这是允许的,infos[i]代表infos数组第i行的全部元素,赋给一维数组后,一维数组就变成一个既有二维数组,又有一维元素的数组,就像这个:array=[ [1,2,3,4],1,2,3 ];。这里已经都挑选出是大一的集合;

         }

     }


     for(n=0;n<arr.length;n++)

     {

         if(arr[n][1]=='女'){

             document.write(arr[n][0]+"<br>")

         }

     }//第二次筛选,找出都是女生的信息


  • 慕神4767727
    2016-11-01 13:09:52

    var infos =[['小A','女',21,'大一'],

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

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

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

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

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

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

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

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

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

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

    for(var i=0;i<infos.length;i++) //第一次筛选,找出都是大一的信息

     {

      if(infos[i][3]=='大一')

     { var arr=new Array(); 

    var n=0;

        arr[n]=infos[i];//前面声明arr是新的数组,让一维数组[0]=二维数组[0],这是允许的,infos[i]代表infos数组第i行的全部元素,赋给一维数组后,一维数组就变成一个既有二维数组,又有一维元素的数组,就像这个:array=[ [1,2,3,4],1,2,3 ];。这里已经都挑选出是大一的集合;

         }

     }


     for(n=0;n<arr.length;n++)

     {

         if(arr[n][1]=='女'){

             document.write(arr[n][0]+"<br>")

         }

     }//第二次筛选,找出都是女生的信息

     


  • stone310
    2016-11-01 09:43:35

    var infos = [ ['小A','女',21,'大一']]这个是二维数组;先看个简单的:

    var arr=[1,3,4,5]  ;这里要取1,就是arr[0],这个可以理解吧;

    var arr=[[1,2],3,4,5];这里用[1,2]代替了上面的1;因此如果要取2,先要取到[1,2],即arr[0],再从[1,2]里面去取2,即arr[0][1];

    上面例子一样的问题

    var infos = [    ['小A','女',21,'大一'],   ['小B','男',23,'大三'],  ...    ];这里要判断是女的,则是第i个数组里面的第1个(从零开始);即infos[i][1];然后还要大一,就是第i个数组里面的第3个;即infos[i][3]

  • 卡兰尼克
    2016-11-01 09:15:09

    <!DOCTYPE  HTML>

    <html >

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title></title>

    <script type="text/javascript">

    var infos = [

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

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

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

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

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

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

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

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

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

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

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

    ];

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

    if(infos[i][3] === "大一" && infos[i][1] === "女") {

    document.write(infos[i][0] + "<br />");

    }

    }

    </script>

    </head>

    <body>

    </body>

    </html>

      这个代码里,

    var infos = [ ['小A','女',21,'大一']]

    两个[[ ]]是定义了二维数组的意思吗?

    二维数组不是要在一位数组里面定义吗

    不太能看懂上面这个代码有大神可以解释一下吗。。。。。。。


JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题