哪位大神看看哪里錯了,第二次篩選不出來
<!DOCTYPE ?HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制語句</title>
<script type="text/javascript">
?//第一步把之前的數(shù)據(jù)寫成一個數(shù)組的形式,定義變量為 infos
?var infos=[
? ? ?['小A','女',21,'大一'],
? ? ? ? ? ? ['小B','男',23,'大三'],
? ? ? ? ? ? ['小C','男',24,'大四'],
? ? ? ? ? ? ['小D','女',21,'大一'],
? ? ? ? ? ? ['小E','女',22,'大四'],
? ? ? ? ? ? ['小F','男',21,'大一'],
? ? ? ? ? ? ['小G','女',22,'大二'],
? ? ? ? ? ? ['小H','女',20,'大三'],
? ? ? ? ? ? ['小I','女',20,'大一'],
? ? ? ? ? ? ['小J','男',20,'大三']];
?//第一次篩選,找出都是大一的信息
?var arr=new Array();
? var n=0;
?for(var i=0;i<=infos.length;i++){
? ? ?if(infos[i][3]=='大一'){
? ? ? ? ?document.write(infos[i]+"<br>")
? ? ?arr[n]=infos[i];
? ? ?n++;
? ? ?}
?}
?//第二次篩選,找出都是女生的信息
?document.write("<br>"+"第二次篩選出來的"+"<br>");
?for(var n=0;n<arr.length;n++){
?if(arr[n][1]=='女'){
? document.write(arr[n][0]+"<br>");
?}
?}
</script>
</head>
<body>
</body>
</html>
2016-12-27
多了個等號還真是影響挺大的。第一次篩選的條件中應(yīng)該為i<infos.length;把等號去掉就可以了。
PS:如果是i<=infos.length的話(此處length為10),由循環(huán)條件可知,i=10的時候會繼續(xù)執(zhí)行一次i++,也就是說存在i=11的情況,但是infos數(shù)組中并沒有第11個元素,這個時候輸出結(jié)果document.write(infos[11])將會是undefined。而且在arr[n]=infos[i];這一步也用了i,既然info[11]為undefined,那么arr[n]在i=11的時候就沒意義了,就是說這個循環(huán)實(shí)際是存在錯誤的,在JS中某一部分出錯的話可能會影響到下邊的代碼,這個你可以試一下,按你原本的程序,在第一次篩選那部分代碼的后面隨便加個document.write('隨便輸'),窗口是都不會顯示的。
總之吧,以后寫循環(huán)條件的時候要多注意些。
2016-12-27
哪里不懂提出來,告訴我,我再給你講講
2016-12-27
continue不滿足條件的話,下面代碼不執(zhí)行,直接進(jìn)入下一次循環(huán)
2016-12-27
for(var i=0;i<infos.length;i++){
? ? ?//第一次篩選,找出都是大一的信息
? ? ?if(infos[i][3] == "大一"){
? ? ? ? ?//第二次篩選,找出都是女生的信息
? ? ? ? ?if(infos[i][1] == "女"){
? ? ? ? ? ? ?document.write(infos[i][0]+"<br/>");
? ? ? ? ?}
? ? ?}else{
? ? ? ? ?continue;
? ? ?}
?}
循環(huán)選擇判斷
2016-12-27
var infos = [
? ??
? ? ['小A','女',21,'大一'],
? ? ['小B','男',23,'大三'],
? ? ['小C','男',24,'大四'],
? ? ['小D','女',21,'大一'],
? ? ['小E','女',22,'大四'],
? ? ['小F','男',21,'大一'],
? ? ['小G','女',22,'大二'],
? ? ['小H','女',20,'大三'],
? ? ['小I','女',20,'大一'],
? ? ['小J','男',20,'大三']
?];
二位數(shù)組
2016-12-27
我知道大概看了看這節(jié)。大概明白講了個毛。不太會。幫不了忙。- ?-不明白為啥、你第一次大一用infos第2次女要用arr= =不明覺厲、
2016-12-27
if(arr[n][1]=='女'){
? document.write(arr[n][0]+"<br>");
?}
我看他們的沒有【0】