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

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

大佬幫我看看對不對,小白請走遠一些

<!DOCTYPE? HTML>

<html >

<head>

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

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

<script type="text/javascript">


?//第一步把之前的數據寫成一個數組的形式,定義變量為 infos

?

?var info = [


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


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


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


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


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


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


? ? ? ? ['G','男','22','大二'],


? ? ? ? ['F','女','20','大三'],


? ? ]?

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

?

?

?for (i = 0, i< info.length, i++){

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

? ? ? ? document.write(info[i])

? ? }

?}

?

?

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

?

? for (i = 0, i< info.length, i++){

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

? ? ? ? if (info[i][1] == "男"){

? ? ? ? ? ? document.write(info[i])

? ? ? ? }

? ? }

?}

??

</script>

</head>

<body>

</body>

</html>


正在回答

7 回答

邏輯沒錯,for寫錯了里面是‘;’

優化下,你可以直接把第一次篩選后的數據放進一個數組,第二次直接篩選新數組比較好

var dayi=[];

在document.write(info[i]);下再加一行

dayi.push(info[i]);

不是大佬,互相交流

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

二十多歲的老王 提問者

嗯,你說的是對的,我是懶了,直接復制第一次篩選的,后面加點邏輯
2020-06-01 回復 有任何疑惑可以回復我~

不是我說,先學JAVA再學python會好很多

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

?var?aa?=?info.filter(item?=>?item[3]?=='大一'?&&?item[1]?=='女')

? for(let?i=0;i<aa.length;i++){

????document.write(aa[i][0])

?}


已老夫30年編程經驗,3行代碼搞定你這個需求


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

<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,'大三']

? ? ?]

//? document.write(infos)

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

?var info_first = new Array()

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

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

? ? ? ? ?info_first.push(infos[i]+"<br>")

? ? ?}

?}

?document.write(info_first+'<br>')


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

?var info_second = new Array()

for(let j = 0;j<infos.length;j++){

? ? if(infos[j][1] == '女' && infos[j][3]=='大一'){

? ? ? ? info_second.push(infos[j]+"<br>")

? ? }

}

?document.write(info_second)

</script>


第二個循環條件用“&&”來判斷更合適吧

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

寫python寫習慣了,我真不喜歡js這種語法,我卡卡

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

<!DOCTYPE?html>

<html?lang="en">

<head>

????<meta?charset="UTF-8">

????<meta?name="viewport"?content="width=device-width,?initial-scale=1.0">

????<title>篩選數據</title>

????<script>

????????var?infos?=?[

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

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

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

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

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

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

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

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

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

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

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

????????????//switch寫法

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

????????????????switch(infos[i][3]){

????????????????????case?'大一':

????????????????????document.write('大一的學生有:'+infos[i]+'<br>');

????????????????????break;

????????????????}

????????????};

????????????document.write('<hr>')

????????????//if寫法

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

????????????????for(j=0;j<infos[i][j].length;j++){

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

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

????????????????????}

????????????????}

????????????};

????????????document.write('<hr>')

????????????//第二次篩選上一步得到的數據,找出都是女生的信息

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

????????????????for(j?=?0?;j?<?infos[i][j].length?;?j++){

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

????????????????????????document.write('大一學生中的女生有:'+infos[i]+'<br>')

????????????????????}

????????????????}

????????????};

????</script>

</head>

<body>

</body>

</html>


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

二十多歲的老王 提問者

不是我說話難聽,你寫這種遍歷兩次的復雜度就有問題了,說實話很low
2020-06-01 回復 有任何疑惑可以回復我~
#2

二十多歲的老王 提問者

swich 語句不是這種簡單情況下用的,if else 足矣了
2020-06-01 回復 有任何疑惑可以回復我~
#3

Angelina丶 回復 二十多歲的老王 提問者

嘿嘿,因為下面的提示說用switch和if,我就把兩個都寫了。我也覺得用不上switch
2020-06-02 回復 有任何疑惑可以回復我~

不說別的,最下面為什么是男。

?for (i = 0, i< info.length, i++),這個里面應該是" ; "不是" , "

你沒試著運行一下嗎?

運行不出來,那就代表有問題的。

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

舉報

0/150
提交
取消

大佬幫我看看對不對,小白請走遠一些

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

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

幫助反饋 APP下載

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

公眾號

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