Array[] "Z" => Array[] "D" => Array[] 等我希望它像 "A" => Array[] "D-6ren">
gpt4 book ai didi

swift - 按键排序字典

转载 作者:IT王子 更新时间:2023-10-29 04:56:09 26 4
gpt4 key购买 nike

我想在 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' 函数来获取包含键和值的排序数组,如下所示:

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 已弃用。

关于swift - 按键排序字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25377177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com