问答详情
源自:4-10 编程练习

二位数组值的打印

//第一步把之前的数据写成一个数组的形式,定义变量为 infos
 var arr =new Array();
 var infos = new Array();
     arr=[['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小D','女',21,'大一'],['小E','女',22,'大四'],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一'],['小J','男',20,'大三']]
 //第一次筛选,找出都是大一的信息
 for(var i=0;i<arr.length;i++){
     for(var j=0;j<4;j++){
        if(arr[i][j]=="大一"){
            document.write(arr[i]+"<br>");
            infos.push(arr[i]);
        }
     }
 }
 document.write(infos+"<br>");
 //第二次筛选的结果是打印女生的姓名
 for(var i=0;i<infos.length;i++){
     for(var j=0;j<4;j++){
         if(arr[i][j]=="女"){
            document.write(arr[i][0]+"<br>");
         }
     }
 }

为什么结果是:小A 小D

正确的是:小A 小D 小I

提问者:学渣木木夕 2017-08-12 17:50

个回答

  • 木旅
    2017-10-17 20:53:27

    var infos=[ ['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小D','女',21,'大一'],['小E','女',22,'大四'],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一'],['小J','男',20,'大三']];
     
    
     for(var i=0;i<infos.length-1;i++)
     {
         if(infos[i][3]=='大一' && infos[i][1]=='女')
         {
             document.write(infos[i]+"<br/>")
         }
     }


  • 陈青鸿
    2017-08-12 18:40:59

    arr数组中的还不是多维数组噢,先拆分吧