【问题标题】:How to sort an array of tuples by an Int value?如何按 Int 值对元组数组进行排序?
【发布时间】:2017-02-20 13:45:32
【问题描述】:

我有一个元组数组(

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

并希望按照 int 值从大到小对它们进行排序。最后我希望数组看起来像这样

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

我将如何做到这一点?

【问题讨论】:

    标签: ios arrays swift3 tuples xcode8


    【解决方案1】:
       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")
    

    【讨论】:

      【解决方案2】:

      您必须通过$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
              }
      

      希望对你有帮助

      【讨论】:

      • if someCondition { return true } else { return false } 这样的语句总是可以简化为return someCondition
      • 感谢@MartinR 的推荐,我的答案已编辑
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 2014-08-05
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多