本篇文章同步發表在 HKT 線上教室 部落格,線上影音教學課程已上架至 Udemy 和 Youtube 頻道。另外,想追蹤更多相關技術資訊,歡迎到 臉書粉絲專頁 按讚追蹤喔~
昨天,我們使用了 CardView 卡片式佈局,讓資料更好閱讀,但大家會發現,要找到自己住家周邊藥局還是很麻煩,所以今天,KT 將要來介紹一下,如何從將近六千多筆藥局口罩資料中,透過 Kotlin 標準函式庫,所提供的 filter 語法,來獲取出我們要的資料。
此圖片取自:Freepik
透過 filter 語法,過濾出縣市為「臺東縣」且鄉鎮為「池上鄉」的藥局資料:
val filterData = pharmacyInfo.features.filter { it.properties.county == "臺東縣" && it.properties.town=="池上鄉"}
透過上方語法,我們將可以在將近六千筆的藥局資料當中,快速過濾篩選出此筆資料:
{
"type": "Feature",
"properties": {
"id": "2346100018",
"name": "台東縣池上鄉衛生所",
"phone": "(089)862609",
"address": "臺東縣池上鄉中山路104號",
"mask_adult": 1062,
"mask_child": 170,
"updated": "2020\/09\/24 14:32:36",
"available": "星期一上午看診、星期二上午看診、星期三上午看診、星期四上午看診、星期五上午看診、星期六上午休診、星期日上午休診、星期一下午看診、星期二下午看診、星期三下午看診、星期四下午看診、星期五下午看診、星期六下午休診、星期日下午休診、星期一晚上休診、星期二晚上休診、星期三晚上休診、星期四晚上休診、星期五晚上休診、星期六晚上休診、星期日晚上休診",
"note": "星期四下午無門診(醫師支援他所)、上班時間有代售防疫口罩服務(如遇假日則暫停代售)",
"custom_note": "",
"website": "",
"county": "臺東縣",
"town": "池上鄉",
"cunli": "福原村",
"service_periods": "NNNNNYYNNNYNYYYYYYYYY"
},
"geometry": {
"type": "Point",
"coordinates": [
121.214811,
23.121687
]
}
}
透過 forEach 的語法,可以印出我們剛剛篩選出來的藥局名稱
filterData.forEach{
println(it.properties.name)
}
台東縣池上鄉衛生所
HKT 線上教室
https://tw-hkt.blogspot.com/
Freepik
https://www.freepik.com/
Kotlin Collections Overview
https://kotlinlang.org/docs/reference/collections-overview.html#kotlin-collections-overview
Filtering
https://kotlinlang.org/docs/reference/collection-filtering.html#filtering
Grouping
https://kotlinlang.org/docs/reference/collection-grouping.html#grouping
有沒有驚喜感呀~ 在將近六千多筆藥局口罩資料當中,說真的,如果要 KT 找出特定某間藥局名稱與口罩資料,真的會找到眼花瞭亂,但如果這次學會了我們 Kotlin 的 filter 語法,就會發現到,哇,原來找資料,只要塞入指定條件,不用幾秒,瞬間就找到,我們要的資料。是不是真的很方便呢?
那今天【iThome 鐵人賽】就介紹到這邊囉~
順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,追蹤喔!也歡迎大家將這篇文章分享給更多人喔。
我們明天再見囉!!!掰掰~