Swift中的元组的多级排序数组

时间:2014-09-08 19:22:04

标签: swift tuples

我希望基于[(Int,Int)]元素(从大到小)对元组.1数组进行排序,以便在相等比较.0(从最小到最大)的情况下

我正在使用它:

myArray.sort{ $0.0 != $1.0 ? $0.1 > $1.1 : $0.0 < $1.0}

但它不起作用

1 个答案:

答案 0 :(得分:5)

条件表达式中的第一项是错误的。如果你想排序 先.1组件(按递减顺序)然后你返回 $0.1 > $1.1如果这些元素不同,则比较.0-组件:

这应该产生预期的结果:

myArray.sort{ $0.1 != $1.1 ? $0.1 > $1.1 : $0.0 < $1.0 }
              ============
             difference here

示例:

var myArray = [ (1,1), (1,2), (2,1), (2,2)] 
myArray.sort{ $0.1 != $1.1 ? $0.1 > $1.1 : $0.0 < $1.0 }
println(myArray)
// [(1, 2), (2, 2), (1, 1), (2, 1)]