慕丝4410454
2020-05-07 14:42
//第一步把之前的数据写成一个数组的形式,定义变量为 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++){
var demo1=[];
demo1=infos[i]
//第一次筛选,找出都是大一的信息
//第二次筛选,找出都是女生的信息
for(var j = 0;j < demo1.length;j++ ){
if(demo1[j]=="大一"&&demo1[j]=="女" ){
document.write(infos[i]+"<br/>");
}
}
}
你数组里面的引号出错了,有单有双,改为单引号就行了。
if(demo1[j]=="大一" &&demo1[j]=="女")这里有问题,demo[j]不可能同时是“大一”和“女生”,改成if(demo1[j]=="大一" &&demo1[j-2]=="女")就可以了
你看一下,你的 if(demo1[j]=="大一"&&demo1[j]=="女" ) 这部分代码,首先想法是非常棒的。但是,demo1[j]只可能且只能为一个值,你不能同时要求demo1[j]=="大一"和demo1[j]=="女"。你可以这样修改:
for(var i = 0;i < infos.length;i++){
var demo1=[];
demo1=infos[i]
if(demo1[3]=="大一"&&demo1[1]=="女" ){
document.write(demo1[0]+"<br/>");
}
}
JavaScript进阶篇
468190 学习 · 21891 问题
相似问题