2017-02-20 87 views
-1

我有元組(如何用Int值對元組數組進行排序?

var array = [("John Doe", 13), ("The Guy", 15), ("The Person", 19)] 

的數組,並希望通過int值將會從最大到最小對它們進行排序。最後我想要的陣列看起來像這樣

var array = [("The Person", 19), ("The Guy", 15), ("John Doe", 13)] 

如何我會做到這一點?

回答

4
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

你必須比較,由$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 
     } 

我希望這有助於你

+1

像'如果someCondition {返回true}其他{返回false}聲明'總是可以簡化爲'返回someCondition'。 –

+0

感謝@MartinR的推薦,我的回答被編輯了 –