如何在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]的字典进行排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章