TIMEX TIMEX - 1 year ago 42
Swift Question

How do I sort an array of objects in reverse order efficiently?

Suppose I have an array of dictionaries:

[ { "id": 2 }, { "id": 59 }, { "id": 31 } ... ]

How can I sort this so that it's in descending order, sorted by "id"?

My initial approach is something like:

Loop through each element, find the biggest one, and put it into a new array. Then, remove that from the element. Repeat.

But I know that's wrong and not efficient.

Answer Source

You can use the sort function in Swift. Something like this:

let arr = [["id": 2], ["id": 59], ["id": 31]]
let sortedArr = arr.sort { Int($0["id"]!) > Int($1["id"]!) }