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

js 数组的问题

js 数组的问题

乐游卢鹏程 2016-05-26 09:41:15
<!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,'大三']   ];    //第一次筛选,找出都是大一的信息     var arr1 = [];    var n = 0;    for(var i=0;i<infos.length;i++){  if( infos[i][3] == "大一" ){     arr1[n] = infos[i];    document.write(arr1[n]+"<br/>");   n=n+1;     }      }        document.write("大一人数: "+arr1.length+"<br/>");    //第二次筛选,找出都是女生的信息       for(var i=0;i<arr1.length;i++){          //这里可以用switch   if(arr1[i][1]=='女') { document.write(arr1[i][0]+"<br/>");} }           </script> </head> <body> </body> </html>这里的数组为什么是二维数组 明明有四个arr1[i][1]=='女'这个为什么是女
查看完整描述

5 回答

已采纳
?
灬紫羽

TA贡献107条经验 获得超71个赞

因为在arr1[n]=infos[i]这里组装的arr1数组;每次循环写入数组的值如下:

arr1[0]=['小A','女',21,'大一'];
arr1[1]=['小D','女',21,'大一'];
arr1[2]=['小F','男',21,'大一'];
arr1[3]=['小I','女',20,'大一'];

这样组装完的arr1就如下形式了:

arr1[
    [0]=> ['小A','女',21,'大一'],
    [1]=> ['小D','女',21,'大一'],
    [2]=> ['小F','男',21,'大一'],
    [3]=> ['小I','女',20,'大一']
];

这个你应该知道为啥是二维数组了吧;下面说第二个问题:

arr1[i]代表数组内的每个小数组(例如:['小A','女',21,'大一']);那么在这个小数组取值性别,就要取下标为1的值;所以是

arr[i][1]表示这个二维数组中每个学生的性别;要选女生,这个值肯定是要等于‘女’;所以

arr1[i][1]=='女';


查看完整回答
3 反对 回复 2016-05-26
?
风中走过

TA贡献2条经验 获得超0个赞

首先它已经定义arr1[n] = infos[i];;所以arr1[n] 相当与每组infos的一维数组,而其中的“1”是二维数组里面的数组,也就是性别,数组最初开始是从0开始数的

查看完整回答
反对 回复 2016-11-04
?
玲珑之心

TA贡献1条经验 获得超0个赞

我觉得通俗的讲二维数组就是数组的嵌套,数组的每个元素再嵌套一个数组。下标就是a[0][0],a[0][1]……以此类推吧。

查看完整回答
反对 回复 2016-05-26
?
荼酒

TA贡献133条经验 获得超96个赞

if(arr1[i][1]=='女')
// 用于判断筛选性别为女的元素


查看完整回答
反对 回复 2016-05-26
  • 5 回答
  • 1 关注
  • 1778 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信