假设我有可以识别的对象数组,并且我想从中创建字典。我可以轻松地从数组中获取元组,如下所示:
let tuples = myArray.map { return ($0.id, $0) }
但我看不到字典的初始化程序来获取元组数组。我错过了什么吗?我是否已经为此功能创建了字典扩展(实际上这并不难,但我认为默认情况下会提供)或者有更简单的方法来做到这一点?
有扩展代码
extension Dictionary
{
public init (_ arrayOfTuples : Array<(Key, Value)>)
{
self.init(minimumCapacity: arrayOfTuples.count)
for tuple in arrayOfTuples
{
self[tuple.0] = tuple.1
}
}
}
Swift 4
如果您的元组是 (Hashable, String) 您可以使用:
let array = [("key1", "value1"), ("key2", "value2"), ("key3", "value3")]
let dictionary = array.reduce(into: [:]) { $0[$1.0] = $1.1 }
print(dictionary) // ["key1": "value1", "key2": "value2", "key3": "value3"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)