运行不出来,为什么呀?

来源:4-10 编程练习

qq_欣然_1

2018-08-24 09:50

<!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 arr=[];
 var n=0;
 for(var i=0;i<=infos.length;i++){
    if(infos[i][3]=="大一"){
        arr[n]=infos[i];
        document.write(arr[n]+"br/");
        n=n+1;
    }
 }
 document.write("大一人数:"+arr.length+"br/");
 
 //第一次筛选,找出都是大一的信息
 for(var n=0;n<arr.length;n++){
    if(arr[n][1]=='女'){
        document.write("arr[n][0]"+"br/");
    }
 }
 
 //第二次筛选,找出都是女生的信息
 
 
 
</script>
</head>
<body>
</body>
</html>

写回答 关注

1回答

  • T松子
    2018-08-24 10:34:57

    1、二维数组里的内容应该用[]包括,而不是()

    2、换行要写为<br/>,不要把<>忘了

    3、第一个for循环,判定条件改为i<infos.length,不能等于,等于的话数组越界。

    <!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 arr=[]; 
        var n=0;  
        //第一次筛选,找出都是大一的信息     
        for(var i=0;i<infos.length;i++){    
            if(infos[i][3]=="大一"){        
                arr[n]=infos[i];        
                document.write(arr[n]+"<br/>");       
                 n=n+1;   
             } 
        }  
        document.write("大一人数:"+arr.length+"<br/>"); 
        for(var n=0;n<arr.length;n++){    
            if(arr[n][1]=='女'){        
              document.write(arr[n][0]+"<br/>");    
            }  
        }
        </script>
        </head>
        <body>
        </body>
      </html>


    PengGu... 回复T松子

    之前我以为把n换成i 后,重新的数组会重新把标号编写成:0、1、2、3、4、5.....确实,如果新的数组的标号还是之前数组的标号的话 那新数组标号就是不规律的了,后面如果再引用的话就相当不方便

    2018-10-23 20:45:58

    共 8 条回复 >

JavaScript进阶篇

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

468190 学习 · 21891 问题

查看课程

相似问题