最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這個程序里在第二個循環(huán)里只能輸出一個值

這個程序里在第二個循環(huán)里只能輸出一個值

黃志明 2016-03-24 11:48:40
我知道正確的編程的方法,我想知道的是原因。按道理來說此時的arr1[]有十個值,其中四個有值,其余六個未定義,那么為什么第二個循環(huán)只能輸出一個值?難道循環(huán)里數(shù)組索引到空值就自動停止了?<!DOCTYPE ?HTML><html ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>流程控制語句</title><script type="text/javascript">var infos = [? ? ['小A','女',21,'大一'],? ? ['小B','男',23,'大三'], ['小C','男',24,'大四'], ['小C','男',24,'大四'], ['小D','女',21,'大一'], ['小E','女',22,'大四'], ['小F','男',21,'大一'], ['小G','女',22,'大二'], ['小H','女',20,'大三'], ['小I','女',20,'大一'], ['小J','男',20,'大三']];?//第一步把之前的數(shù)據(jù)寫成一個數(shù)組的形式,定義變量為 infos? var arr1=[];? var n=0;? for (var i=0;i<infos.length;i++){? ? ? if (infos[i][3]=="大一"){? ? ? ? ? arr1[n]=infos[i];? ? ? ? ? document.write(arr1[n]+"<br/>")? ? ? ? ??? ? ? }? ? ? n=n+1;? }? document.write("大一人數(shù): "+arr1.length+"<br/>");?//第一次篩選,找出都是大一的信息for (var i=0;i<arr1.length;i++){? ? ? if (arr1[i][1]=="女"){? ? ? ? ? document.write(arr1[i][0]+"<br/>")? ? ? }? }?//第二次篩選,找出都是女生的信息</script></head><body></body></html>
查看完整描述

1 回答

已采納
?
李曉健

TA貢獻1036條經(jīng)驗 獲得超461個贊

for?(var?i=0;i<infos.length;i++){
????if?(infos[i][3]=="大一"){
????????//這里不能像你那么寫
????????arr1.push(infos[i]);
????????document.write(infos[i]+"<br/>")
????}
????n=n+1;
}

你那么寫的話,新數(shù)組的長度會是10,里面有幾個值都是undefined, ?然后你在后面判斷是不是女生時 ?arr1[i][1]=="女" ;?arr1[i]就會等于undefined ,然后你再取二個值,也就是?arr1[i][1] 就相當(dāng)于?undefined[1] ?就報錯了

查看完整回答
1 反對 回復(fù) 2016-03-24
  • 黃志明
    黃志明
    你前邊說的,我都知道。但是把上面的代碼輸進去,是有一個結(jié)果的,按你后面說的應(yīng)該一個也沒有???是不是在出現(xiàn)第一個undifined的時候,程序就報錯了?
  • 黃志明
    黃志明
    搞明白了!你的解答幫了大忙!
  • 1 回答
  • 1 關(guān)注
  • 1446 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號