六角學院JS直播班第五周的小組任務,是要撈 《高雄的里長資訊》,我自己做完作業之後,再參考同學寫的code,我認為自己可以再改進優化:
作業要求的任務如下:
- 里長男女生人數比例
- 前鎮區有幾個里長
- 三民區有幾個女性里長
- 無黨籍、民主進步黨、中國國民黨各佔幾位?
- 所有區里長人數都整理在一個物件裡
我的高雄市里長資訊作業
資料格式是一個陣列包著物件的JSON檔,物件的屬性為中文命名:
以下一一來檢討:
任務一:里長男女生人數比例
我的做法是用陣列的 filter 方法,分別撈出男、女里長的資訊,再來算百分比就好了。
而同學的做法如下:
任務一檢討:
- 我沒有先用 if else 去想,而事先想用 filter 撈出陣列,跳過邏輯判斷的部分。
- 沒用 input output 的觀念來思考,以至於忽略了可以封裝成一個函式。
任務二:前鎮區有幾個里長
我這樣做:
任務三: 三民區有幾個女性里長
我這樣做:
同學把任務二跟三包裝成一個函式來處理:
任務二、三檢討:
- 沒用 input output 的觀念來思考。
- 根本沒想到 兩個任務可以合併來寫。
- 忽略了參數屬值的設定( sex === ‘’ ),可以拿來做 if else 判斷,這個要學起來。
任務四:無黨籍、民主進步黨、中國國民黨各佔幾位?
因為有指定黨籍,所以我這麼做:
但是同學這樣做:
- 一樣是忽略了 input 與 output。
- 如果今天不是指定要那些黨,我就要改變做法了。
任務五:所有區里長人數都整理在一個物件裡
作業要求最後輸出時要變成以下的樣子:
我的想法:
- 撈出資料中所有的區,把它放入一個空陣列中。
- 過濾掉重複的區 ,變成一個新的陣列 distArry
- 把各區的名字變成物件 distObj 的屬性
- 把data的區別屬性,與distObj的區別屬性比對,兩者相同就加一
同學的做法,又快又簡單:
任務五檢討
可能是剛做完陣列方法的筆記,對於 filter 的印象太過深刻,所以思考路徑會一直往 filter 跑,完全忘記用 if else 也可以篩選,還有是物件取值的方法不夠熟練,所以不會往那邊去想解決方法。
最後要做的時候要想 input 與 output,盡量想想怎樣可以更完整的解決問題。