Kata Practice - Grasshopper Check For Factor (JavaScript)
這個系列會把自己練習過的 Kata 題目記錄下來,希望除了記錄的性質以外也能夠觀察自己撰寫程式邏輯的進化過程。如果有幸看到這邊的話也可以參考一下,再到 Codewars 的網站註冊一個帳號試著玩看看,自己蠻喜歡整個網站的得分和排行榜設定,會讓人越寫越有成就感喔!
題目
This function should test if the factor is a factor of base.
Return true if it is a factor or false if it is not.
Factors are numbers you can multiply together to get another number.
2 and 3 are factors of 6 because: 2 * 3 = 6
自己的解法
1 | function checkForFactor (base, factor) { |
解題脈絡
先想到取餘數的 %
這個運算子,所以就直接結合三元運算子了。不過當下有覺得好像可以省略不用寫?不過因為不太確定,所以還是保留了。
其他人的解法
1 | const checkForFactor = (base, factor) => base % factor === 0; |
選擇記錄這個解法的原因
結果看到別人的解法發現是真的可以省略三元運算子,但是我自己在寫題目測試的時候有試著移除三元運算子可是忘記要在陳述式後面補上分號 ;
所以導致編譯失敗,真的是低級失誤啊QQ
觀念釐清
我覺得接下來的練習最基本的事情就是先將所有的 function 都改寫成 arrow function ,因為這樣就可以做到最基本的第一階段優化(省略 return
),所以一定要記得。
那我們就下次見ʘ‿ʘ