swift 中是否有 - (NSArray *)keysSortedByValueUsingSelector:(SEL) 比较器的模拟?
如何在不转换为 NSDictionary 的情况下做到这一点?
我试过了,但似乎不是一个好的解决方案。
var values = Array(dict.values)
values.sort({
$0 > $1
})
for number in values {
for (key, value) in dict {
if value == number {
println(key + " : \(value)");
dict.removeValueForKey(key);
break
}
}
}
例子:
var dict = ["cola" : 10, "fanta" : 12, "sprite" : 8]
dict.sortedKeysByValues(>) // fanta (12), cola(10), sprite(8)
最佳答案
只需一行代码即可在 Swift 4、4.2 和 Swift 5 中按值对字典进行排序:
let sortedByValueDictionary = myDictionary.sorted { $0.1 < $1.1 }
关于swift - 按 Swift 中的值对字典进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24090016/