说我有一个带有动态键的字典,如下所示。
{
5 : {
value : 1000,
desp : "No Desp"
},
1 : {
value : 1000,
desp : "No Desp"
},
2 : {
value : 1000,
desp : "No Desp"
}
}
我想按如下方式对这个字典进行排序:在一个基于按键升序排序的快速字典中。
{
1 : {
value : 1000,
desp : "No Desp"
},
2 : {
value : 1000,
desp : "No Desp"
}},
5 : {
value : 1000,
desp : "No Desp"
}
]
答案 0 :(得分:0)
无法对字典类型进行排序,因此您需要使用数组来执行此操作。
let dict = [1:[value : 1000, desp : "No Desp"], 2: [value : 1000, desp : "No Desp"],3: [value : 1000, desp : "No Desp"]]
dict.sorted(by: { $0.0 < $1.0 }) //do this to sort it by key
结果数据类型是[Int,[String:Int,String:String]]的数组。
答案 1 :(得分:-1)
我之前做过类似的事,
let unsortedDict = Dictioanary<String,Any>
let sortedKeys = unsortedDict.keys.sorted
var sortedDict = NSMutableDictionary ()
for key in sortedKeys {
let node = unsortedDict[key]
sortedDict.setValue(node,forKey:key)
}
想知道比这更好的方法