【发布时间】:2020-05-25 10:17:33
【问题描述】:
我有一本字典为[String: [String]]。数据看起来像,
Province
|- State 1
| |- A
| |- C
| |- E
|- State 2
|- B
|- A
|- D
我尝试将其排序为,
let sortedResult = plistData.sorted{ $0.key < $1.key }.map { [$0.key: $0.value.sorted()] }
但这给了我一个[[String : [String]]] 类型的数组。我该如何解决这个问题以获得 [String : [String]]。?需要按所有值排序
【问题讨论】:
-
你不能在 Swift 中对字典进行排序。根据定义,键没有特定的顺序。您可以维护一个单独的排序键数组,可以完成您想要的。
-
我想按值排序。 State 2 的 A,C,E 数组应该是 State 2 -> A, B, D
-
您可以对数组的值进行排序,但不能对键进行排序,因为字典不会保持特定的顺序。因此,在您的示例中,
State 1和State 2可能以任何顺序出现。 -
是的。我想对数组中的值进行排序
-
你需要在问题中指定这个。