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

求大神帮助!

<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,'大三']];

 //第一步把之前的数据写成一个数组的形式,定义变量为 infos
 var arr=new Array();
 var n=0;
 for(i=0;i<=infos.length;i++)
 {
     if(infos[i][3]=="大一")
     {
         document.write("第一次:"+infos[i]+"<br/>");
         arr[n]=infos[i];
         n++;
     }
 }
 
 //第一次筛选,找出都是大一的信息
 for(n=0;n<arr.length;n++)
 {
     if(arr[n][1]=="女")
     {
         document.write("第二次:"+arr[n][0]);
     }
 }
 
 //第二次筛选,找出都是女生的信息
 
 
 
</script>

正在回答

3 回答

大神,您的错误在 for(i=0;i<=infos.length;i++)   infos.length是10,当你的循环到i=10时;infos[10]是不存在的,所以JavaScript报错,后面的代码就不执行了!!!PS:小小吐槽一下,我这个新手debug这段代码用了一小时。。。。。

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

奶油面包 提问者

非常感谢您的帮助啊!!还是您牛,一语道破啊,我是差点被逼疯了。
2016-03-25 回复 有任何疑惑可以回复我~

or(var i=0;i<infos.length;i++)
 
 {
     if(infos[i][2-1]=="女" && infos[i][4-1]=="大一")//筛选两次就仅仅得出要的
      {
          document.write(infos[i][1-1]+"<br/>")//只输出名字
          }
 }

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

奶油面包 提问者

我需要2次分开的。关键是我想知道自己错在哪里。
2016-03-22 回复 有任何疑惑可以回复我~
#2

奶油面包 提问者

我想知道自己的代码错在哪里
2016-03-22 回复 有任何疑惑可以回复我~
#3

kscorpio

他第二个循环根本没执行啊
2016-03-22 回复 有任何疑惑可以回复我~
#4

奶油面包 提问者 回复 kscorpio

是什么原因没有执行啊?
2016-03-22 回复 有任何疑惑可以回复我~
查看1条回复

没明白 要问什么

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

奶油面包 提问者

第二次筛选的结果出不来
2016-03-22 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

求大神帮助!

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