NEW: Master Swift design patterns with my latest book! >>

How to reverse sort an array

Written by Paul Hudson    @twostraws

Regular sorting on comparable data is as easy as calling the sort() method, but if you want a reverse sort – e.g. highest to lowest numbers, or Z-A alphabetically – there are two options.

The first is to run a regular sort, reverse that sort, then convert the result to an array. For example:

let numbers = [100, 5, 53, 98, 29]
let reversed1 = Array(numbers.sorted().reversed())

The second option is to provide a custom closure to the sorted() method that sorts the opposite way to the default, like this:

let reversed2 = numbers.sorted { $0 > $1 }

Both of those will result in the array 100, 98, 53, 29, 5.

Available from iOS 8.0

Did this solution work for you? Please pass it on!

Other people are reading…

About the Swift Knowledge Base

This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.

Love Hacking with Swift?

Get all 40 projects in PDF and HTML: buy the Hacking with Swift book! It contains over 1300 pages of hands-on Swift coding, and will really help boost your iOS career

Click here to visit the Hacking with Swift store >>