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(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(i=0;i<arr1.length;i++){ if(arr1[i][1]=="女"){ document.write(arr1[i][0]+"<br>") } }
n=n+1 就是n++
写入了arr1的第n个元素之后,就走到下一个元素(也就是n+1)处,在下一次循环到的时候写入。
var n=0
for(i=0;i<infos.length;i++){
if(infos[i][3]=="大一"){
arr1[n] = infos[i];
document.write( arr1[n]+"<br>");
n=n+1;//少了分号
}
}
第一次循环的时候n=0,i=0,所以有arr1[0]=infos[i],
但第二次循环的时候i++=1;而n的值没有变,还是0;所以为了让arr1[1]=infos[1]对应,所以n=n+1;
清楚了么?