這樣怎麼不行呢? 是哪裡錯(cuò)誤了
var infos =? [['小A', '女', 21, '大一'], ['小b', '男', 23, '大三'], ['小C', '男', 24, '大四'], ['小D', '女', 21, '大一'], ['小E', '女', 22, '大四'], ['小F', '男', 21, '大一'], ['小G', '女', 22, '大二'], ['小H', '女', 20, '大三'], ['小I', '女', 20, '大一'], ['小J', '男', 20, '大三']];
?function go (){?
?for(i=0;i<infos.length;i++){
? ? ?switch(infos[i][3])
? ? ?{
? ? ? ? ?case 1 :'大一';
? ? ? ? ?switch(infos[i][1]){
? ? ? ? ? ? ?case 1:'女';
? ? ? ? ?}
? ? ? ? console.log(infos[i][0]);
? ? ? ? ?break;
? ? ? ? ?
? ? ?}
? ? ?break;
? ? ? ??
?}
?}
?function go()
2020-05-31
我參照你的寫了下,你寫的真的好,簡(jiǎn)便一些,
首先
for里的break去掉,不然整個(gè)循環(huán)只執(zhí)行一次
然后switch 語(yǔ)句寫錯(cuò)了,case '1':你的條件設(shè)置的是infos[i][3]對(duì)應(yīng)的是‘大一’‘大二’‘大三’‘大四’這樣的字符串,那么switch中對(duì)應(yīng)的case就要應(yīng)該是‘大一’‘大二’‘大三’‘大四,我們需要的是‘大一’所以直接case ‘大一’:表達(dá)式 同理下面也是case 1:'女'應(yīng)該是case '女':表達(dá)式
最后 case '女':接表達(dá)式,你的console.log位置錯(cuò)了,最好用document.write(""),其次我們要的大一女生的所有信息,infos[i][0] 改成infos[i][3]
2020-05-28
調(diào)用函數(shù)直接寫:go();
2020-05-27
你這太亂了,邏輯都亂了,看看我這種法吧:
//第一步把之前的數(shù)據(jù)寫成一個(gè)數(shù)組的形式,定義變量為 infos
var infos = [
? ? ? ? ['A','女','21','大一'],
? ? ? ? ['B','男','23','大三'],
? ? ? ? ['C','男','24','大四'],
? ? ? ? ['D','女','21','大一'],
? ? ? ? ['E','女','22','大四'],
? ? ? ? ['F','男','21','大一'],
? ? ? ? ['G','男','22','大二'],
? ? ? ? ['F','女','20','大三'],
? ? ]?
?//第一次篩選,找出都是大一的信息
?for(i=0;i<infos.length;i++){
? ? ?for(j=0;j<infos[i][j].length;j++){
? ? ? ? if(infos[i][3]=='大一'){
? ? ? ? ? ? document.write('大一有:'+infos[i][0]+'</br>')
? ? ? ? }
? ? ?}
?}
??
?//第二次篩選,找出都是女生的信息
?for(i=0;i<infos.length;i++){
? ? ?for(j=0;j<infos[i][j].length;j++){
? ? ? ? if(infos[i][1]=='女'){
? ? ? ? ? ? document.write('女生有:'+infos[i][0]+'</br>')
? ? ? ? }
? ? ?}
?}
2020-05-26
首先,switch中的case后跟的是判斷條件,而不是1、2、3,練習(xí)時(shí)的123是因?yàn)榕袛嗟氖切瞧?,定義的變量是數(shù)字3,其次,switch中的break是跟在每一個(gè)判斷條件后的,也就是每一種case情況后邊,不能放在switch外,最后,函數(shù)運(yùn)行不需要加function,直接方法名就可以。接下來(lái)是我把你的代碼改過(guò)以后的照片(上邊的)和我的代碼運(yùn)行結(jié)果的照片(下邊的),你看一下吧。