如何用Int值对元组数组进行排序?
问题描述:
我有元组(如何用Int值对元组数组进行排序?
var array = [("John Doe", 13), ("The Guy", 15), ("The Person", 19)]
的数组,并希望通过int值将会从最大到最小对它们进行排序。最后我想要的阵列看起来像这样
var array = [("The Person", 19), ("The Guy", 15), ("John Doe", 13)]
如何我会做到这一点?
答
var array = [("John Doe", 13), ("The Guy", 15), ("The Person", 19)]
print("myStringArray: \(array)\n")
array.sort {$0.1 > $1.1}
print("myStringArray: \(array)\n")
答
你必须比较,由$1
值,元组的int值,检查这个代码,可以帮助你
var tuplesArray : [(String,Int)] = [("John Doe", 13), ("The Guy", 15), ("The Person", 19)]
let orderedTuples = tuplesArray.sorted { (value1, value2) -> Bool in
return value1.1 > value2.1
}
我希望这有助于你
像'如果someCondition {返回true}其他{返回false}声明'总是可以简化为'返回someCondition'。 –
感谢@MartinR的推荐,我的回答被编辑了 –