寫更簡潔的程式碼
阿新 • • 發佈:2018-10-31
// 需要判斷多個條件,但是事件最終的狀態只有兩種時
// 第一種複雜寫法
狀態 =
條件存在 && (條件 === "A" || 條件 === "B" || 條件 === "C") ? 狀態1 : 狀態2;
// 簡單寫法 優點是結構清晰,可讀性高,程式碼易維護
狀態1條件 = ["A", "B", "C"];
狀態 = 條件存在 && 狀態1條件.includes(條件) ? 狀態1 : 狀態2;
// 陣列條件篩選問題
// 複雜寫法
let list = ["a", "a", "b", "b"];
let aList = [];
let bList = [];
list.map(item => {
if (item === "a") {
aList.push(item);
} else if (item === "b") {
bList.push(item);
}
});
console.log(aList, bList); // ["a","a"] ["b","b"]
// 簡單寫法 優點是 程式碼量明顯減少,語義化增強,又使用了高等函式
list = ["a", "a", "b", "b"];
aList = list.filter(item => item === "a");
bList = list.filter(item => item === "b" );
console.log(aList, bList); // ["a","a"] ["b","b"]