var infos=[ ['小A','女','21','大一'], ['小B','男','23','大三'], ['小C','男','24','大四'], ['小D','女','21','大一'], ['小E','女','22','大四'], ['小F','男','21','大一'], ['小G','女','22','大二'], ['小H','女','20','大三'], ['小I','女','20','大一'], ['小J','男','20','大三'] ] //第一次筛选,找出都是大一的信息 var any=new Array(); for(var i=0;i<infos.length;i++){ if(infos[i][3]=="大一"){ document.write(infos[i]+"<br>") any=[infos[i]]; } } document.write("第二次筛选:"+"<br>") for(var n=0;n<any.length;n++) { if(any[n][1]=="女"){ document.write(any[n]) } }小A,女,21,大一小D,女,21,大一小F,男,21,大一小I,女,20,大一第二次筛选:小I,女,20,大一
1 回答
WingMeng
TA贡献32条经验 获得超13个赞
原因是你第一次筛选时:
var any=new Array(); for(var i=0;i<infos.length;i++){ if(infos[i][3]=="大一"){ document.write(infos[i]+"<br>") any=[infos[i]]; } }
这样写的话,any 这个数组在每次 for 循环进 if 语句块时都会被重新赋值一次,当 for 循环结束后,它的值就是最后一次匹配赋值的结果,即 any = ['小I','女','20','大一']。想要实现预期效果,请使用 push 方法:
if(infos[i][3]=="大一"){ document.write(infos[i]+"<br>") any.push(infos[i]); }
添加回答
举报
0/150
提交
取消