Guest User

Untitled

a guest
Dec 14th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.41 KB | None | 0 0
  1. import Foundation
  2.  
  3. internal extension Sequence {
  4. func grouped<T>(by keyPath: KeyPath<Element, T>) -> [T: [Element]] {
  5. var groups = [T: [Element]]()
  6. for element in self {
  7. let key = element[keyPath: keyPath]
  8. if !groups.keys.contains(key) {
  9. groups[key] = [Element]()
  10. }
  11. groups[key]?.append(element)
  12. }
  13. return groups
  14. }
  15. }
Add Comment
Please, Sign In to add comment