プログラミングしていると、配列の要素をグループ毎に分けたい時があります。
日付単位でグルーピングしたり、アイテムが所属するカテゴリー毎にグルーピングしたり・・・
そういった時に簡単にグループ化(グルーピング)できるのが、Dictionaryを使ったやり方です。
ソース
var userItems :[(id: Int, job: String)] = []
userItems.append((id: 1, job: "employee"))
userItems.append((id: 2, job: "employee"))
userItems.append((id: 3, job: "student"))
let group: [String: [(id: Int, job: String)]] = Dictionary(grouping: userItems, by: { $0.job })
上記例のように、userItemsという配列があり、その配列をjob毎にグループ分けしたい。
というような時に、Dictionaryを使ってグルーピングする事ができます。
グルーピングされた配列は、指定した要素毎(今回であれば”job”の値)にまとめられます。
コメント