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
不理解n=n+1的含义,当我换成n=n+2时,大一人数是7
你这思路有点复杂啊,又重新定义了一个新的一维数组,让arr1[n]复制infos[i],看到for里面的i++了吧,i++就相当于i=i+1;所以下面有一个n=n+1相对应
<!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<infos.length;i++){
//第一次筛选,找出都是大一的信息
//第二次筛选,找出都是女生的信息
if(infos[i][3]=="大一"&&infos[i][1]=="女"){
document.write(infos[i][0]+"<br>");
}
}
你能把你整个代码都发上来嘛。你上面的n的意思就是数组下标,从0下标开始,每循环一次递增1,依次输出满足条件数组arr1的值
数组长度为7,数组中有空值。并不是每一个元素都是大一。