var infos=new Array();
infos=[["小A","女",21,"大一"],["小B","男",23,"大三"],["小C","男",24,"大四"],["小D","女",21,"大一"],["小E","女",22,"大四"],["小F","男",21,"大一"],["小G","女",22,"大二"],["小H","女",20,"大三"],["小I","女",20,"大一"],["小J","男",20,"大三"]];
function er(){
for(var i=0;i<infos.length;i++)
{
if(infos[i][3]=="大一")
{
var zai=new Array();
zai.push(infos[i]);
document.write(zai+"<br>");
}
}
document.write("<br>");
for(var j=0;j<zai.length;j++)
{
if(zai[j][1]=="女")
{
document.write(zai[j]+"<br>");
}
}
}
er();
按楼主的逻辑,没改动什么代码,但是楼主你要把zai数组声明放在第一次循环外面,不然放里面的话,是每次找到一个“大一”的信息,就重新创建一个数组,到最后面,其实数组就只有一个值啦,zai.length=1呀,也就是最后面循环得到的值。
function er(){
var zai=new Array();
for(var i=0;i<infos.length;i++)
{
if(infos[i][3]=="大一")
{
zai.push(infos[i]);
// document.write(zai+"<br>");
}
}
document.write(zai+"<br>");
document.write("<br>");
for(var j=0;j<zai.length;j++)
{
if(zai[j][1]=="女")
{
document.write(zai[j]+"<br>");
}
}
}
er();
var x;
for(x=0;x<=10;x++){
if(infos[x][3]=="大一"){
if(infos[x][1]=="女"){
document.write("大一学生为:"+infos[x]+"<br>");
}
}
这样就好了