我希望基于[(Int,Int)]
元素(从大到小)对元组.1
数组进行排序,以便在相等比较.0
(从最小到最大)的情况下
我正在使用它:
myArray.sort{ $0.0 != $1.0 ? $0.1 > $1.1 : $0.0 < $1.0}
但它不起作用
答案 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)]