在Swift中连接字典值

时间:2016-10-14 13:44:26

标签: swift dictionary

我在Swift中创建了一个字典,如:

var dict:[String : Int] = ["A": 1, "B": 2, "C": 3, "D": 4]

print(dict["A"]!)

计算机打印1号,但如何连接这些值,使输出为1234而不是单个整数?

2 个答案:

答案 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: "")
}