亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

哪位大神看看哪里錯了,第二次篩選不出來

<!DOCTYPE ?HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>流程控制語句</title>

<script type="text/javascript">


?//第一步把之前的數據寫成一個數組的形式,定義變量為 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>


正在回答

7 回答

多了個等號還真是影響挺大的。第一次篩選的條件中應該為i<infos.length;把等號去掉就可以了。

PS:如果是i<=infos.length的話(此處length為10),由循環條件可知,i=10的時候會繼續執行一次i++,也就是說存在i=11的情況,但是infos數組中并沒有第11個元素,這個時候輸出結果document.write(infos[11])將會是undefined。而且在arr[n]=infos[i];這一步也用了i,既然info[11]為undefined,那么arr[n]在i=11的時候就沒意義了,就是說這個循環實際是存在錯誤的,在JS中某一部分出錯的話可能會影響到下邊的代碼,這個你可以試一下,按你原本的程序,在第一次篩選那部分代碼的后面隨便加個document.write('隨便輸'),窗口是都不會顯示的。

總之吧,以后寫循環條件的時候要多注意些。

2 回復 有任何疑惑可以回復我~
#1

Mr丶Jia 提問者

非常感謝!
2016-12-28 回復 有任何疑惑可以回復我~

哪里不懂提出來,告訴我,我再給你講講

0 回復 有任何疑惑可以回復我~

continue不滿足條件的話,下面代碼不執行,直接進入下一次循環

0 回復 有任何疑惑可以回復我~

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

? ? ?//第一次篩選,找出都是大一的信息

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

? ? ? ? ?//第二次篩選,找出都是女生的信息

? ? ? ? ?if(infos[i][1] == "女"){

? ? ? ? ? ? ?document.write(infos[i][0]+"<br/>");

? ? ? ? ?}

? ? ?}else{

? ? ? ? ?continue;

? ? ?}

?}

循環選擇判斷

0 回復 有任何疑惑可以回復我~

var infos = [

? ??

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

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

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

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

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

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

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

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

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

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

?];

二位數組

0 回復 有任何疑惑可以回復我~

我知道大概看了看這節。大概明白講了個毛。不太會。幫不了忙。- ?-不明白為啥、你第一次大一用infos第2次女要用arr= =不明覺厲、

0 回復 有任何疑惑可以回復我~
#1

Mr丶Jia 提問者

謝謝!
2016-12-28 回復 有任何疑惑可以回復我~

if(arr[n][1]=='女'){

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

?}

我看他們的沒有【0】

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

哪位大神看看哪里錯了,第二次篩選不出來

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號