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

显示不出来

不知道哪里出问题

var infos= [

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

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

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

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

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

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

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

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

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

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

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

];

 var m=new Array();

 var p=0;

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

 document.write("第一次筛选"+"<br>");

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

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

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

        m[p]=infos[i];

        p++;

     }

 }

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

 document.write("<br>"+"第二次筛选"+"<br>")

 for(var p=0;p<o.length;p++){

     if(m[p][1]=="女"){

         document.write(m[p]);

     }

 }

 


正在回答

1 回答

第一次筛选中i<=infos.length改为i<infos.length

第二次筛选中p<o.length改为p<m.length

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

腹黑的王先森 提问者

非常感谢!
2016-09-10 回复 有任何疑惑可以回复我~
#2

腹黑的王先森 提问者

不过为什么第一次非要改成<呢?
2016-09-10 回复 有任何疑惑可以回复我~
#3

老木 回复 腹黑的王先森 提问者

因为数组中索引是从0开始的,所以如果数组长度为length的话,那么数组索引就是0,1,2...length-1,所以要用<length,如果用<=length的话,那么遍历的最后一个元素就是[length],而这个元素是没有定义的,数组所以最大只到length-1
2016-09-10 回复 有任何疑惑可以回复我~
#4

腹黑的王先森 提问者 回复 老木

哦,懂了,谢谢
2016-09-10 回复 有任何疑惑可以回复我~
查看1条回复

举报

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

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

进入课程

显示不出来

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