将mydict.keys转换为数组

时间:2015-11-10 16:08:22

标签: arrays dictionary swift2

我有一个类型[String:String]的字典,想要将所有键都放入一个字符串数组中。

ortdict = [
    "aaa": "eins",
    "bbb": "zwei",
    "ccc": "drei"
]
let mykeys = ortdict.keys
print("\nkeys:", mykeys)

打印输出是:

keys: LazyMapCollection<Dictionary<String, String>, String>(_base: ["aaa": "eins", "bbb": "zwei", "ccc": "drei"], _transform: (Function))

这不是我想要的,但我找不到生成我的键数组的方法。我是否必须自己编写此方法(作为NSDictionary的先前allkeys方法的快速替换?)

2 个答案:

答案 0 :(得分:1)

怎么样:

let keysArray = ortdict.keys.sort()

答案 1 :(得分:0)

使用Array初始值设定项将LazyMapCollection转换为数组:

let mykeys = Array(ortdict.keys)

print("\nkeys:", mykeys)

打印:

  

键:[“bbb”,“aaa”,“ccc”]

请注意,Swift Dictionary是一个无序集合。如果您想要按键排序,请对结果数组进行排序,而不是对字典本身进行排序:

let mykeys = Array(ortdict.keys).sort()

结果:

  

键:[“aaa”,“bbb”,“ccc”]