我写的复杂了点,刚刚看了人家的,不过我还是想看看我的问题所在
简直从头错到脚,
var arr =infos[i][3];这句只是把“大一”存储在数组arr中,并没有存储学生的所有信息。
for(i = 0;i<arr.length;i++){
document.write(arr[arr.length][0]);
}这句错了,上一部分你已经获取了大三的信息并储存在数组arr中,你现在应该遍历这个数组arr并且输出,arr.length的长度是固定的所以你只是输出了 “arr.length”遍[arr.length][0]的值。
//第一步把之前的数据写成一个数组的形式,定义变量为 infos
var infos=[["小A","女",21,"大一"],["小B","男",23,"大三"],['小C','男',24,'大四'],['小D','女',21,'大一'],['小E','女',22,'大四'],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一'],['小J','男',20,'大三']];
var frist=new Array();
var k=0;
//第一次筛选,找出都是大一的信息
for(var i=0;i<infos.length;i++){
if(infos[i][3]=="大一"&&infos[i][1]=="女"){
frist[k]=infos[i];
k++;
}
}
//第二次筛选,找出都是女生的信息
for(var i=0;i<frist.length;i++){
document.write("姓名为"+frist[i][0]+"<br/>");
}
定义数组的时候方括号里面是方括号;为什么要写两遍for,if之后也不知道你想干什么
你是想找到大一的同时又找到女生么?
那就应该是 (infos[i][3])=="大一" && infos[[i][1]=="女" )
因为你找大一的同时又要找女生 那就是要同时满足两个条件
这里就得用到并且“&&” 这样选出来就能满足两个条件
这章主要是没有基础教程参考 大部分错误的时候都是思路错误 我开始也看愣逼了很久