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.
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"]!) }
You have only need to use below code that will give you the sorted array using the sort
because dictionary
is also a collection class.
let sortedDict = wordDict.sort { $0.0 < $1.0 }
print("\(sortedDict)") //
In above code you found the sorted Dictionary. For sorting Array you need to add below code.
let sortedArr = arr.sort { Int($0["id"]!) > Int($1["id"]!) }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With