我在Swift中创建了一个字典,如:
var dict:[String : Int] = ["A": 1, "B": 2, "C": 3, "D": 4]
print(dict["A"]!)
计算机打印1号,但如何连接这些值,使输出为1234而不是单个整数?
答案 0 :(得分:2)
Dictionary
中的键值对是无序的。如果您想以特定顺序访问它们,您必须自己对键进行排序:
let dict = ["A": 1, "B": 2,"C": 3,"D": 4]
let str = dict.keys
.sorted(by: <)
.map { dict[$0]! }
.reduce ("") { $0 + String($1) }
或者:
let str = dict.keys
.sorted(by: <)
.map { String(dict[$0]!) }
.joined()
不知道两者的相对表现,因为我没有对它们进行基准测试。但除非你的字典很大,否则差别很小。
答案 1 :(得分:-1)
let dict = ["A": 1, "B": 2, "C": 3, "D": 4]
for entry in dict.sorted()
{
print("\(entry.1)", terminator: "")
}