有點想快點結束這無聊的JS
後面的題目也差不多了,
應該夠讓我(混)使用30天
題目
Conditional Statements: If-Else
舉例輸入
11
舉例輸出
D
解析
這是個很經典的連續else if
其實像這種題目真的很煩
沒啥技術含量,也沒啥技術點
就是認真點把每個節點處理好
function getGrade(score) {
let grade;
// Write your code here
if (25 < score && score <= 30) {
grade = "A";
} else if (20 < score && score <= 25) {
grade = "B";
} else if (15 < score && score <= 20) {
grade = "C";
} else if (10 < score && score <= 15) {
grade = "D";
} else if (5 < score && score <= 10) {
grade = "E";
} else if (0 <= score && score <= 5) {
grade = "F";
}
return grade;
}
但因為工程師如果只是這樣子很不負責任
而且看起來很弱,可以指敲一行就不敲兩行
這是我的宗旨
function getGrade(score) {
if (score > 25) {
return "A";
}
else if (score > 20) {
return "B";
}
else if (score > 15) {
return "C";
}
else if (score > 10) {
return "D";
}
else if (score > 5) {
return "E";
}
else {
return "F";
}
}
這樣是不是看起來就清爽多了?
當js遇到return時就不會運行接下來的程式碼了
這點非常好用
題目
Conditional Statements: Switch
舉例輸入
adfgt
舉例輸出
A
解析
這題就是很單純的,他給你一個字串
取得第一個字,將他歸類在他所給定的分類中
那麼我們速速結束掉今天吧
function getLetter(s) {
let letter;
// Write your code here
switch (s[0]) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
letter = "A";
break;
case 'b':
case 'c':
case 'd':
case 'f':
case 'g':
letter = "B";
break;
case 'h':
case 'j':
case 'k':
case 'l':
case 'm':
letter = "C";
break;
default:
letter = "D"
break;
}
return letter;
}
有沒有更短的寫法?
當然是有的
function getLetter(s) {
// Write your code here
switch (s[0]) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
return "A";
case 'b':
case 'c':
case 'd':
case 'f':
case 'g':
return "B";
case 'h':
case 'j':
case 'k':
case 'l':
case 'm':
return "C";
default:
return "D"
}
}
但這個寫法本身不太好
雖然js會直接return就不執行下面程式碼
因為使用switch使用break是約定俗成的寫法
這樣會增加日後維護的困擾有時候可能還會有不可預估的錯誤;
所以不想被同事幹,第一種方式會是比較妥當的
本日心得
預計十天把JS處理完
接下來就是爆炸的面試題目啦