[英]Swift 3 : Convert Dictionary of String type to Int
我有字典
var dict: [String: [String]] = ["key1": ["1", "111"], "key2": ["22", "222"]]
我如何使用地图功能将其转换为[String: [Int]]
["key1": [1, 111], "key2": [22, 222]]
不是通过使用for
OR forEach
循环
斯威夫特4
您可以将mapValues
(在Swift 4中引入)与数组map
,如下所示
let newDict = dict.mapValues { value in
value.map { Int($0)!}
}
请注意,如果数组中的值不能转换为Int
,则程序将崩溃。
迅捷3
但是,在Swift 3中,没有mapValues
。 幸运的是,有了这个扩展(源: https : //stackoverflow.com/a/24219069 ):
extension Dictionary {
init(_ pairs: [Element]) {
self.init()
for (k, v) in pairs {
self[k] = v
}
}
}
你可以写
let newDict = Dictionary(dict.map { (key, value) in
(key, value.map{Int($0)!})
})
这也将达到预期的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.