如何在Swift 5中对[int:String]的字典进行排序[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Swift 5中对[int:String]的字典进行排序[重复]相关的知识,希望对你有一定的参考价值。

我有一个以整数作为键,并以字符串作为值的数组

var dictionary = [Int: String]()

所有这些尝试都以Swift 5的编译错误结尾:

dictionary = dictionary.keys.sorted()

dictionary = (dictionary.sorted $0.key < $1.key )

dictionary = dictionary.sorted  $0.0 < $1.0  .map  $0.1 

reverseSortedValues = dictionary.sorted  $0.0 > $1.0  .map  $0.1 

dictionary = profileImagesDictionary.sorted(by:  $0.0.compare($1.0) == .OrderedAscending )

dictionary = profileImagesDictionary.sorted  $0.key

代码:

profileImagesDictionary = [Int : String](uniqueKeysWithValues: profileImagesDictionary.sorted $0.key > $1.key)

控制台输出打印键

before: dictionary = [3, 1, 2, 4, 0]

after: dictionary = [3, 0, 2, 1, 4]

我需要它来重新排列字典/实际上是通过键对其进行排序。

所以喜欢而不是:

dictionary = [1: "a", 3: "c", 2: "b"]

排序后将是:

dictionary = [1: "a", 2: "b", 3: "c"]
答案

简单地提供以下代码以打印已排序的键。

print(dictionary.keys.sorted)
另一答案

这里您有一个不是数组的字典,可以根据您的键对字典进行排序,您可以使用let sortedKeys = Array(dictionary.keys).sort(<),但它仅包含数组中的键

以上是关于如何在Swift 5中对[int:String]的字典进行排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中将 Int 转换为 String

如何将 Int 数组转换为字符串? Swift 中的数组

如何在swift中获取变量的类型[重复]

swift 中对Null字段的处理

在 Swift 中重复字符串

在 Swift 3 中将 String 转换为 int