public extension Sequence {
func group<T>(by key: (Element) -> T) -> [T: [Element]] {
Dictionary(grouping: self, by: key)
}
func groupCustom<T>(by modifier: (Element) -> T) -> [T: [Element]] {
var result: [T: [Element]] = [:]
for element in self {
let key = modifier(element)
result[key, default: []] += [element]
}
return result
}
}
Grouping items in Sequence
by
Tags:
Leave a comment