Kata Practice - Sum Arrays (JavaScript)
這個系列會把自己練習過的 Kata 題目記錄下來,希望除了記錄的性質以外也能夠觀察自己撰寫程式邏輯的進化過程。如果有幸看到這邊的話也可以參考一下,再到 Codewars 的網站註冊一個帳號試著玩看看,自己蠻喜歡整個網站的得分和排行榜設定,會讓人越寫越有成就感喔!
題目
Write a function that takes an array of numbers and returns the sum of the numbers. The numbers can be negative or non-integer. If the array does not contain any numbers then you should return 0.
自己的解法
1 | function sum (numbers) { |
解題脈絡
題目有特別提到當陣列沒有給予任何的 number 時,需要返回 0 這個值。所以我先寫了 if… else 的條件式,如果陣列內沒有給予任何 number 就返回 0 ,剩餘的情況就會是陣列內有給予 number 的狀況,這時候再使用 reduce 這個陣列的方法將陣列內的所有數字做一個加總。
其他人的解法
1 | function sum(numbers) { |
選擇記錄這個解法的原因
知道有 reduce 這個方法但沒有用的像解答一樣精簡,reduce 這個 array methods 最後已經會有一個預設值了,這樣代表當我今天傳入這個 sum 函式的 numbers 沒有包含任何的數字時,它就會是預設值 0 了。
觀念釐清
感覺有些東西都多想了一些,所以繞了一圈。不過看了別人的解法就會發現自己多做了一些額外且不必要的處理,這樣代表我還有蠻大的進步空間的!
那我們就下次見ʘ‿ʘ