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

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

篩選了大一的之后,女生為什么篩選不出來

<script type="text/javascript">

?//第一步把之前的數據寫成一個數組的形式,定義變量為 infos
var myarray = [['小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 i,j;
?//第一次篩選,找出都是大一的信息
?document.write("大一的有:"+"<br>");
for(i=0;i<myarray.length;i++){
???? if(myarray[i][3]=='大一'){
???????? arr[j] = myarray[i];
???????? document.write(arr[j]+"<br>");
???? }
?}
?document.write("所有是大一女生的名字:"+"<br>");
?//第二次篩選,找出都是女生的信息
for(j=0;j<arr.length;j++){
???? if(arr[j][1]=='女'){
???????? document.write(arr[j]+"<br>");
???? }
?}
</script>

正在回答

5 回答


? ? ? 首先:你的問題出在:arr[j] = myarray[i];上,只要有myarray[i]符合條件,arr[j]就會去接收,但j沒有實現自 增,所有arr[j]背不斷賦予新值,所以最后arr[j]y也只是記錄一個值。

? ? ??其次:你沒有給j賦初值,未使用值來聲明的變量,其值實際上是 undefined,你可以這樣試試看:? ? document.write(arr[j]+"<br>"+j);,看看j是多少。你就會知道,為啥你第二次篩選沒有任何內容輸出。?

?正確代碼如下,僅代表個人觀點,喜歡就好。

?

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

?var arr=new Array();

?var j=0;

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

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

? ? ? document.write("大一的有:"+infos[i]+"<br>")

? ? ? arr[j]=infos[i];

? ? ? j++;

? ? ?}

? }

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

? ?for(j=0;j<arr.length;j++){

? ? ? ?if(arr[j][1]=='女'){

? ? ? ? ? ?document.write("結果為"+arr[j]+"<br>");

? ? ? ?}

? ?}


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

魏柔

輸出的還是不對的呀
2017-03-31 回復 有任何疑惑可以回復我~

j沒有賦初值和自增,代碼有些冗雜。

<script type="text/javascript">
?var infos = [
? ['小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 < infos.length; i++) {
?if(infos[i][3] == "大一" && infos[i][1] == "女") {
??document.write(infos[i][0] + "<br />");
?}
}
</script>

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

啊咧123 提問者

出不來。。
2017-03-23 回復 有任何疑惑可以回復我~

for(i=0;i<myarray.length;i++){
???? if(myarray[i][3]=='大一'){
???????? arr[j] = myarray[i];
???????? document.write(arr[j]+"<br>");
???? }
?}

你這邊這個j都沒有定義循環

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

賦值的J沒有回歸到0,也沒有進行累加

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

j沒有初始化和自增

?var?i,j=0;
?//第一次篩選,找出都是大一的信息
?document.write("大一的有:"+"<br>");
for(i=0;i<myarray.length;i++){
?????if(myarray[i][3]=='大一'){
?????????arr[j]?=?myarray[i];
?????????document.write(arr[j]+"<br>");
		?j++;
?????}
?}


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

舉報

0/150
提交
取消

篩選了大一的之后,女生為什么篩選不出來

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

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

幫助反饋 APP下載

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

公眾號

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