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

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

為什么寫dayi[i]=infos[i]會出錯

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

var dayi = new Array();

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

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

dayi[i]=infos[i];

}

}

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

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

switch(dayi[i][1]){

case '女':

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

}

}

一開始是這樣寫的,可是只會輸出一個小A,在console里發現dayi.length是9,而且除了dayi[0]其他全是undefined,為什么會這樣啊Q A Q

正在回答

2 回答

不好意思,你說的對。dayi.length == 9 說明你的 dayi[9] = infos[9]的,至于為什么只會出現day[0]有數據,要看看你的數據是怎么寫的了。說實話,你可以讓dayi的下標自己增加不就可以了嗎,不要用i表示。

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

積年 提問者

是的 我最后又聲明了一個j作為dayi的下標然后讓j在滿足條件的時候j++問題就解決了,就是想不太明白為什么用i會出現這種情況OTZ
2017-09-12 回復 有任何疑惑可以回復我~

i時隨著循環增加的,因此dayi[i]中的i也會改變,當篩選不到時,dayi[i]中就不會賦值,然而i繼續增加,因此這些沒有被賦值的dayi[i]里面存儲的就是undefined(只給了聲明沒有賦值)

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

積年 提問者

感謝回答0 0可是按道理不滿足條件的話if里的語句也不會運行啊,為什么dayi會被聲明出來呢。。。
2017-09-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么寫dayi[i]=infos[i]會出錯

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

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

幫助反饋 APP下載

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

公眾號

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