var n=0; n++;

来源:4-10 编程练习

梁小茹

2017-04-05 11:05

var mynum=[

['小A','女','21','大一'],

['小B','男','23','大三'],

['小C','男','24','大四'],

['小D','女','21','大一'],

['小E','女','22','大四'],

['小F','男','21','大一'],

['小G','女','22','大二'],

['小H','女','20','大三'],

['小I','女','20','大一'],

['小J','男','20','大三'],

];

var wuman=new Array();

var n=0;

document.write("其中大一有:"+"<br>")

for( var i=0;i<mynum.length;i++){

if(mynum[i][3]=="大一"){

document.write(mynum[i]+"<br>");

wuman[n]=mynum[i];

n++;

}

}

for(var n=0;n<wuman.length;n++){

if(wuman[n][1]=="女"){

document.write(wuman[n][0]+"<br>");

}

}

    这里面不明白为何前面要写 var n;和后面第一步输出下面要写n++;   这个有点想不明白,因为for中有些这些啊,求大神指点

写回答 关注

3回答

  • five刘
    2017-04-05 11:28:41
    已采纳

    n相当于数组women的下标,数组下标从0开始的,你的代码是重新定义一个数组women存放年级是大一的学生,n++是到数组women的下一个下标

    梁小茹

    非常感谢!

    2017-04-05 14:49:40

    共 1 条回复 >

  • Limargin
    2017-04-05 14:50:50

    JS代码从上到下,在第一个判断语句中,数组mynum是一个二维数组,用来判断每个元素的第四个元素是否是“大一”,如果是,那么新的数组women就会添加元素。n是数组women的下标,初始值是0,每取到一个mynum[i],n的值就+1 。

    也就是说,在第一次for循环中,取出的是所有大一的学生,填充到women数组中去,然后再在第二个for循环中找出women数组中的女生。

    var mynum=[
    	['小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<mynum.length;i++){
        if(mynum[i][3]=="大一"){  //如果是大一,则执行里面的判断
            if(mynum[i][1]=="女"){  //如果是女,则输出mynum[i]
                document.write(mynum[i] + "<br>");
            }
        }
    }
    
    //或者按照你的写法,,
    var women = array();//声明一个数组,用来装大一女生的信息
    var n = 0;//声明一个变量,用来作为数组的下标
    for(var i=0;i<mynum.length;i++){
        if(mynum[i][3]=="大一"){
            document.write("所以的大一学生:"+mynum[i]+"<br>");//输出所以大一学生
    	women[n]=mynum[i];//  => women[0]=满足条件的大一学生
    	n++; //找到第一个满足条件的mynum数组元素的时候,n会变成1,然后在返回for循环继续判断
    	//最后得到的结果,就是将所有大一学生的信息,封装到二维数组women中去,
        }
    }
    for(var j=0;j<women.length;j++){
        if(women[j][1]=="女"){
            document.write("所有的大一女生:"+women[i]+"<br>");
        }
    }

    PS:你的第二个for循环中的n,已经在前面声明过了,尽可能用别的变量。。

  • 慕慕9745976
    2017-04-05 11:26:19

    n是用来统计数量的,每当查询到一条大一的记录n就加1,全部查询后,n的值就是大一学生数量的值

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468190 学习 · 21891 问题

查看课程

相似问题