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

为什么这段代码没有输出?

这段代码哪里有错误吗?

<!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,'大四'],  

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

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

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

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

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

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

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


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

 var dayi=new Array();

 var nvsheng=new Array();

 var j=0,n=0;

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

 {

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

     {

         var dayi[j]=new Array();

         dayi[j]=infos[i];

         j++;

     }

 

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

    if(infos[i][1]=="女")

     {

         var nvsheng[n]=new Array();

         dayi[n]=infos[i];

         n++;

     }

 }

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

 for(i=0;i<=j;i++){

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

 }

 for(i=0;i<=n;i++){

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

 }

 

  

</script>

</head>

<body>

</body>

</html>


正在回答

5 回答

你上面已经声明了dayi 和 nvsheng 下面就不用再写了 直接赋值就可以 var dayi[j]=new Array(); 而且这样写也是错误的 还有下面的循环都应该是< 不是<=

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

ohitisme 提问者

后来我都检查出来了,谢谢
2016-10-19 回复 有任何疑惑可以回复我~
#2

Shero_25 回复 ohitisme 提问者

检查别人的代码 也是看自己会不会犯相同的错误 共同进步 O(∩_∩)O哈哈~
2016-10-19 回复 有任何疑惑可以回复我~

if(infos[i][1]=="女")

     {

         var nvsheng[n]=new Array();

         //dayi[n]=infos[i];

        nvsheng[n]=infos[i];

         n++;

     }

 }

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


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

i 与dayi 是同级数组,明显错误啊

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

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

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

 for(var i=0;i<10;i++){

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

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

 }

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

 </script>

</head>

<body></body>

</html>

不知道你算法里面写那么多干啥,算法越简单越好,运行效率高

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

ohitisme 提问者

哦,我是想把这些符合的信息另组一个数组
2016-10-19 回复 有任何疑惑可以回复我~

<!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,'大四'],

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

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

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

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

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

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

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

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

 var dayi=new Array();

 var nvsheng=new Array();

 var j=0,n=0;

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

 {

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

     {

         dayi[j]=new Array();

         dayi[j]=infos[i];

         j++;

     }


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

    if(infos[i][1]=="女")

     {

         nvsheng[n]=new Array();

         nvsheng[n] = infos[i];

         n++;

     }

 }

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

 for(i=0;i<j;i++){

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

 }

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

 for(i=0;i<n;i++){

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

 }



    </script>

</head>

<body>

</body>

</html>


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

ohitisme 提问者

谢谢啦
2016-10-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这段代码没有输出?

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