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

有人帮忙看看问题所在吗

我写的复杂了点,刚刚看了人家的,不过我还是想看看我的问题所在

提问者:qq_天空_51 2016-12-06 16:02

个回答

  • weibo_邱宇哥_0
    2016-12-06 16:31:36
    已采纳

    简直从头错到脚,

     var arr =infos[i][3];这句只是把“大一”存储在数组arr中,并没有存储学生的所有信息。

    for(i = 0;i<arr.length;i++){
         document.write(arr[arr.length][0]);
     }这句错了,上一部分你已经获取了大三的信息并储存在数组arr中,你现在应该遍历这个数组arr并且输出,arr.length的长度是固定的所以你只是输出了 “arr.length”遍[arr.length][0]的值。

  • qq_等待成为习惯_04298395
    2016-12-06 19:16:00

     //第一步把之前的数据写成一个数组的形式,定义变量为 infos
     var infos=[["小A","女",21,"大一"],["小B","男",23,"大三"],['小C','男',24,'大四'],['小D','女',21,'大一'],['小E','女',22,'大四'],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一'],['小J','男',20,'大三']];

     var frist=new Array();
     var k=0;
     //第一次筛选,找出都是大一的信息
     for(var i=0;i<infos.length;i++){
        if(infos[i][3]=="大一"&&infos[i][1]=="女"){
            frist[k]=infos[i];
            k++;
        }
     }
     //第二次筛选,找出都是女生的信息
     for(var i=0;i<frist.length;i++){
         document.write("姓名为"+frist[i][0]+"<br/>");
     } 

  • 慕的地3727796
    2016-12-06 16:52:16

    定义数组的时候方括号里面是方括号;为什么要写两遍for,if之后也不知道你想干什么

  • 慕粉1549598811
    2016-12-06 16:43:13

    你是想找到大一的同时又找到女生么?

    那就应该是 (infos[i][3])=="大一" && infos[[i][1]=="女" )

    因为你找大一的同时又要找女生  那就是要同时满足两个条件 

    这里就得用到并且“&&” 这样选出来就能满足两个条件

    这章主要是没有基础教程参考  大部分错误的时候都是思路错误  我开始也看愣逼了很久