多维数组的创建及赋值

来源:4-10 编程练习

星风飞行

2015-12-04 14:50

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

其中我存在疑惑的是这一部分:

http://img.mukewang.com/566137950001180104140178.jpg

为什么句1,句2不能写成:

 var arr = [][];
 arr[n][]= infos[i][];

arr和infos都是二维数组,原写法意在将两个都当做一维数组,将一组值写入一个元素中;但是为什么我这样就把它当做二维数组写,会是错的,请问错在什么地方?


写回答 关注

1回答

  • Caballarii
    2015-12-04 15:09:16
    已采纳

    因为arr[n][]并不是一个变量,这样写没法赋值

    实际上不带中括号的a才表示二维数组,二维数组之间赋值也该写成a=infos,只是已经偏离你的本意了。

    你的意思大概是2处变成

    for(var j=0;j<arr[n].length;j++){

        arr[n][j]=infos[i][j];

    }

    星风飞行

    非常感谢!

    2015-12-04 15:14:31

    共 1 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题