我想在Swift中对字典进行排序。我有一本字典,例如:
"A" => Array[] "Z" => Array[] "D" => Array[]
等,我希望它像
"A" => Array[] "D" => Array[] "Z" => Array[]
等等
我在SO上尝试了许多解决方案,但没有人为我工作。我正在使用XCode6 Beta 5,在它上面有一些正在给编译器错误,在一些解决方案中有例外。因此,任何可以发布字典排序工作副本的人。
let dictionary = [ "A" : [1, 2], "Z" : [3, 4], "D" : [5, 6] ] let sortedKeys = Array(dictionary.keys).sorted(<) // ["A", "D", "Z"]
编辑:
上面代码中的排序数组仅包含键,而值必须从原始字典中检索。但是,'Dictionary'也是'CollectionType'(键,值)对的一对,我们可以使用全局'sorted'函数来获取包含键和值的排序数组,如下所示:
'Dictionary'
'CollectionType'
'sorted'
let sortedKeysAndValues = sorted(dictionary) { $0.0 < $1.0 } println(sortedKeysAndValues) // [(A, [1, 2]), (D, [5, 6]), (Z, [3, 4])]
EDIT2: 目前倾向于每月更改一次的Swift语法
let sortedKeys = Array(dictionary.keys).sort(<) // ["A", "D", "Z"]
sorted不推荐使用global 。
sorted