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

帮我看看是哪里出了问题,运行不出内容,实在找不到错在哪了?

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>流程控制语句</title>

<script type="text/javascript">


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

 var infos=new Array();

     infos=[

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

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

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

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

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

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

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

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

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

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

       ];

       var info=new Array();

       var num= 0;

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

 //document.write("第一部分:"+"<br/>");

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

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

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

            info [num]=infos [i];

            num++;

         }

     }

     }

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

 // document.write("第二部分:"+"<br/>");

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

     for(var j=0;j<=info[i].length;j++){

         if(info[i][j]=="女"){

            document.write(info[i][0]);

         }

     }

 }

  

</script>

</head>

<body>

</body>

</html>


正在回答

3 回答

数组越界。循环的时候下标是从0开始的,如果是一个长度是5的数组,那么最后一个的下标就是4。你用<=,循环到最后一个的时候,下标就是5,所以错误了。

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

qq_慕粉909474 提问者

原来如此,顿时明白了!
2019-01-08 回复 有任何疑惑可以回复我~

for循环里的<=改成<,你会发现正确了。

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

qq_慕粉909474 提问者

高,实在是高!可是这是为什么呢?
2019-01-08 回复 有任何疑惑可以回复我~
#2

qianhujiang 回复 qq_慕粉909474 提问者

数组越界。循环的时候下标是从0开始的,如果是一个长度是5的数组,那么最后一个的下标就是4。你用<=,循环到最后一个的时候,下标就是5,所以错误了。
2019-01-08 回复 有任何疑惑可以回复我~

同问,写的一样,运行不出来,复制别人的代码就可以运行

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

qq_天使彦的觉悟_04143688

作为新手,这个问题我也经常遇见,运行不了基本都是一些标点啊,啥的问题心细一点
2019-01-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

帮我看看是哪里出了问题,运行不出内容,实在找不到错在哪了?

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