Skip to content

Instantly share code, notes, and snippets.

@Marcocanc
Last active December 18, 2017 11:06
Show Gist options
  • Save Marcocanc/bfb65f9786cf6ab6f26e45993ba2b515 to your computer and use it in GitHub Desktop.
Save Marcocanc/bfb65f9786cf6ab6f26e45993ba2b515 to your computer and use it in GitHub Desktop.
Array sorting by keypath
extension Array {
func sorted<T: Comparable>(by keyPath: KeyPath<Element, T>, ordered areInIncreasingOrder: (T, T) -> Bool = (<) ) -> Array<Element> {
return self.sorted(by: {
areInIncreasingOrder($0[keyPath: keyPath], $1[keyPath: keyPath])
})
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment