switch 後的小括號內會帶入一個表達式
,並透過表達式的值去比對底下 case 後帶入的值是否符合該表達式回傳的值,符合的情況就會去執行 case 底下的陳述式
,而每個 case 執行完後必須帶入 break ,才能終止程式碼繼續往下一個 case 執行
JavaScript 範例如下:
switch (expression) {
case value1:
//當 expression 的值符合 value1
//要執行的陳述句
break;
case value2:
//當 expression 的值符合 value2
//要執行的陳述句
break;
case valueN:
//當 expression 的值符合 valueN
//要執行的陳述句
break;
default:
//當 expression 的值都不符合上述條件
//要執行的陳述句
break;
}
switch(參數){ ... }
中的中括號要帶入參數去做比對case 條件內容:
case 結尾加冒號default:
如果都沒有上述條件的話,會出現的描述。 default 是加冒號,同樣也要加 break;
default
不一定要放在最後,放在中間也可以,反正 switch 會將所有 case 掃過一遍才會執行裡面if…else
會將所有的條件跟內容審視過一次,但如果是 switch
時,當他的條件是裡面的其中一個case 時,再執行裡面的程式碼,所以相對來說效能比較好。
所以 switch
適合用在已經確定是哪些狀態。
.sort()
是以字串,重新排列陣列中的元素,並返回原本的陣列,所以會更改原始陣列。(如果要針對數字排序,就要帶 function)
自訂義排序: sort()
可帶入 compareFunction 參數,且會根據函式內帶入參數比較結果,進行排序。
a - b
< 0, a 排在 b 前面。a - b
= 0,則 a 與 b 皆不會改變彼此的順序,但會與其他全部的元素比較來排序。a - b
> 0 ,則 b 排在 a 前面。所以,比較函式會是以下形式:
let arr = [5, 2, 3, 4, 1, 7, 20, 10, 90, 6];
//compareFunction
arr.sort(function (a, b) {
return a - b;
});
// arr = [1, 2, 3, 4, 5, 6, 7, 10, 20, 90];