Error[8]: Undefined offset: 7, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我想从这个字符串数组中获得 let entries = ["x=5", "y=7", "z=10"] 到这个 let keyValuePairs = ["x" : "5", "y" : "7", "z" : "10"] 我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组, 我想从这个字符串数组中获得
let entrIEs = ["x=5","y=7","z=10"]

到这个

let keyvaluePairs = ["x" : "5","y" : "7","z" : "10"]

我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组,所以它是一个没有去.

有任何想法吗?

减号错误检查,看起来很像:
let foo = entrIEs.map({ 
extension Dictionary {    init(elements:[(Key,Value)]) {        self.init()        for (key,value) in elements {            updateValue(value,forKey: key)        }    }}
.componentsSeparatedByString("=") }) .reduce([String:Int]()) { acc,comps in var ret = acc ret[comps[0]] = Int(comps[1]) return ret }

使用地图将[String]转换成分割[[String]],然后使用reduce构建[String:Int]的字典.

或者,通过添加一个扩展到字典:

let dict = Dictionary(elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs.flatMap {    let parts = [+++].componentsSeparatedByString("=")    if parts.count == 2,let value = Int(parts[1]) {        return (parts[0],value)    } else {        return nil    }})
.componentsSeparatedByString("=") }) .flatMap({ if [+++].count == 2,let value = Int([+++][1]) { return ([+++][0],value) } else { return nil }}))
.componentsSeparatedByString("=") }) .map({ ([+++][0],Int([+++][1])!)}))

(相当有用的扩展名btw,您可以使用它在字典上的很多地图/过滤器 *** 作,真的是一个耻辱,默认情况下不存在)

变得更简单:

[+++]

当然,你也可以组合两个地图电话,但我更喜欢分解个别的转换.

如果要添加一些错误检查,可以使用flatMap而不是map:

[+++]

再次,如果你想,你可以明显地将地图合并到flatMap或分开它们为了简单.

[+++] 总结

以上是内存溢出为你收集整理的swift – 有没有声明性的方式将Array转换为Dictionary?全部内容,希望文章能够帮你解决swift – 有没有声明性的方式将Array转换为Dictionary?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 8, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我想从这个字符串数组中获得 let entries = ["x=5", "y=7", "z=10"] 到这个 let keyValuePairs = ["x" : "5", "y" : "7", "z" : "10"] 我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组, 我想从这个字符串数组中获得
let entrIEs = ["x=5","y=7","z=10"]

到这个

let keyvaluePairs = ["x" : "5","y" : "7","z" : "10"]

我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组,所以它是一个没有去.

有任何想法吗?

减号错误检查,看起来很像:
let foo = entrIEs.map({ 
extension Dictionary {    init(elements:[(Key,Value)]) {        self.init()        for (key,value) in elements {            updateValue(value,forKey: key)        }    }}
.componentsSeparatedByString("=") }) .reduce([String:Int]()) { acc,comps in var ret = acc ret[comps[0]] = Int(comps[1]) return ret }

使用地图将[String]转换成分割[[String]],然后使用reduce构建[String:Int]的字典.

或者,通过添加一个扩展到字典:

let dict = Dictionary(elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs.flatMap {    let parts = .componentsSeparatedByString("=")    if parts.count == 2,let value = Int(parts[1]) {        return (parts[0],value)    } else {        return nil    }})
.componentsSeparatedByString("=") }) .flatMap({ if [+++].count == 2,let value = Int([+++][1]) { return ([+++][0],value) } else { return nil }}))
.componentsSeparatedByString("=") }) .map({ ([+++][0],Int([+++][1])!)}))

(相当有用的扩展名btw,您可以使用它在字典上的很多地图/过滤器 *** 作,真的是一个耻辱,默认情况下不存在)

变得更简单:

[+++]

当然,你也可以组合两个地图电话,但我更喜欢分解个别的转换.

如果要添加一些错误检查,可以使用flatMap而不是map:

[+++]

再次,如果你想,你可以明显地将地图合并到flatMap或分开它们为了简单.

[+++] 总结

以上是内存溢出为你收集整理的swift – 有没有声明性的方式将Array转换为Dictionary?全部内容,希望文章能够帮你解决swift – 有没有声明性的方式将Array转换为Dictionary?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 9, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我想从这个字符串数组中获得 let entries = ["x=5", "y=7", "z=10"] 到这个 let keyValuePairs = ["x" : "5", "y" : "7", "z" : "10"] 我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组, 我想从这个字符串数组中获得
let entrIEs = ["x=5","y=7","z=10"]

到这个

let keyvaluePairs = ["x" : "5","y" : "7","z" : "10"]

我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组,所以它是一个没有去.

有任何想法吗?

减号错误检查,看起来很像:
let foo = entrIEs.map({ 
extension Dictionary {    init(elements:[(Key,Value)]) {        self.init()        for (key,value) in elements {            updateValue(value,forKey: key)        }    }}
.componentsSeparatedByString("=") }) .reduce([String:Int]()) { acc,comps in var ret = acc ret[comps[0]] = Int(comps[1]) return ret }

使用地图将[String]转换成分割[[String]],然后使用reduce构建[String:Int]的字典.

或者,通过添加一个扩展到字典:

let dict = Dictionary(elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs.flatMap {    let parts = .componentsSeparatedByString("=")    if parts.count == 2,let value = Int(parts[1]) {        return (parts[0],value)    } else {        return nil    }})
.componentsSeparatedByString("=") }) .flatMap({ if .count == 2,let value = Int([+++][1]) { return ([+++][0],value) } else { return nil }}))
.componentsSeparatedByString("=") }) .map({ ([+++][0],Int([+++][1])!)}))

(相当有用的扩展名btw,您可以使用它在字典上的很多地图/过滤器 *** 作,真的是一个耻辱,默认情况下不存在)

变得更简单:

[+++]

当然,你也可以组合两个地图电话,但我更喜欢分解个别的转换.

如果要添加一些错误检查,可以使用flatMap而不是map:

[+++]

再次,如果你想,你可以明显地将地图合并到flatMap或分开它们为了简单.

[+++] 总结

以上是内存溢出为你收集整理的swift – 有没有声明性的方式将Array转换为Dictionary?全部内容,希望文章能够帮你解决swift – 有没有声明性的方式将Array转换为Dictionary?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 10, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我想从这个字符串数组中获得 let entries = ["x=5", "y=7", "z=10"] 到这个 let keyValuePairs = ["x" : "5", "y" : "7", "z" : "10"] 我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组, 我想从这个字符串数组中获得
let entrIEs = ["x=5","y=7","z=10"]

到这个

let keyvaluePairs = ["x" : "5","y" : "7","z" : "10"]

我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组,所以它是一个没有去.

有任何想法吗?

减号错误检查,看起来很像:
let foo = entrIEs.map({ 
extension Dictionary {    init(elements:[(Key,Value)]) {        self.init()        for (key,value) in elements {            updateValue(value,forKey: key)        }    }}
.componentsSeparatedByString("=") }) .reduce([String:Int]()) { acc,comps in var ret = acc ret[comps[0]] = Int(comps[1]) return ret }

使用地图将[String]转换成分割[[String]],然后使用reduce构建[String:Int]的字典.

或者,通过添加一个扩展到字典:

let dict = Dictionary(elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs.flatMap {    let parts = .componentsSeparatedByString("=")    if parts.count == 2,let value = Int(parts[1]) {        return (parts[0],value)    } else {        return nil    }})
.componentsSeparatedByString("=") }) .flatMap({ if .count == 2,let value = Int([1]) { return ([+++][0],value) } else { return nil }}))
.componentsSeparatedByString("=") }) .map({ ([+++][0],Int([+++][1])!)}))

(相当有用的扩展名btw,您可以使用它在字典上的很多地图/过滤器 *** 作,真的是一个耻辱,默认情况下不存在)

变得更简单:

[+++]

当然,你也可以组合两个地图电话,但我更喜欢分解个别的转换.

如果要添加一些错误检查,可以使用flatMap而不是map:

[+++]

再次,如果你想,你可以明显地将地图合并到flatMap或分开它们为了简单.

[+++] 总结

以上是内存溢出为你收集整理的swift – 有没有声明性的方式将Array转换为Dictionary?全部内容,希望文章能够帮你解决swift – 有没有声明性的方式将Array转换为Dictionary?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 11, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我想从这个字符串数组中获得 let entries = ["x=5", "y=7", "z=10"] 到这个 let keyValuePairs = ["x" : "5", "y" : "7", "z" : "10"] 我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组, 我想从这个字符串数组中获得
let entrIEs = ["x=5","y=7","z=10"]

到这个

let keyvaluePairs = ["x" : "5","y" : "7","z" : "10"]

我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组,所以它是一个没有去.

有任何想法吗?

减号错误检查,看起来很像:
let foo = entrIEs.map({ 
extension Dictionary {    init(elements:[(Key,Value)]) {        self.init()        for (key,value) in elements {            updateValue(value,forKey: key)        }    }}
.componentsSeparatedByString("=") }) .reduce([String:Int]()) { acc,comps in var ret = acc ret[comps[0]] = Int(comps[1]) return ret }

使用地图将[String]转换成分割[[String]],然后使用reduce构建[String:Int]的字典.

或者,通过添加一个扩展到字典:

let dict = Dictionary(elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs.flatMap {    let parts = .componentsSeparatedByString("=")    if parts.count == 2,let value = Int(parts[1]) {        return (parts[0],value)    } else {        return nil    }})
.componentsSeparatedByString("=") }) .flatMap({ if .count == 2,let value = Int([1]) { return ([0],value) } else { return nil }}))
.componentsSeparatedByString("=") }) .map({ ([+++][0],Int([+++][1])!)}))

(相当有用的扩展名btw,您可以使用它在字典上的很多地图/过滤器 *** 作,真的是一个耻辱,默认情况下不存在)

变得更简单:

[+++]

当然,你也可以组合两个地图电话,但我更喜欢分解个别的转换.

如果要添加一些错误检查,可以使用flatMap而不是map:

[+++]

再次,如果你想,你可以明显地将地图合并到flatMap或分开它们为了简单.

[+++] 总结

以上是内存溢出为你收集整理的swift – 有没有声明性的方式将Array转换为Dictionary?全部内容,希望文章能够帮你解决swift – 有没有声明性的方式将Array转换为Dictionary?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 12, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我想从这个字符串数组中获得 let entries = ["x=5", "y=7", "z=10"] 到这个 let keyValuePairs = ["x" : "5", "y" : "7", "z" : "10"] 我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组, 我想从这个字符串数组中获得
let entrIEs = ["x=5","y=7","z=10"]

到这个

let keyvaluePairs = ["x" : "5","y" : "7","z" : "10"]

我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组,所以它是一个没有去.

有任何想法吗?

减号错误检查,看起来很像:
let foo = entrIEs.map({ 
extension Dictionary {    init(elements:[(Key,Value)]) {        self.init()        for (key,value) in elements {            updateValue(value,forKey: key)        }    }}
.componentsSeparatedByString("=") }) .reduce([String:Int]()) { acc,comps in var ret = acc ret[comps[0]] = Int(comps[1]) return ret }

使用地图将[String]转换成分割[[String]],然后使用reduce构建[String:Int]的字典.

或者,通过添加一个扩展到字典:

let dict = Dictionary(elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs.flatMap {    let parts = .componentsSeparatedByString("=")    if parts.count == 2,let value = Int(parts[1]) {        return (parts[0],value)    } else {        return nil    }})
.componentsSeparatedByString("=") }) .flatMap({ if .count == 2,let value = Int([1]) { return ([0],value) } else { return nil }}))
.componentsSeparatedByString("=") }) .map({ ([0],Int([+++][1])!)}))

(相当有用的扩展名btw,您可以使用它在字典上的很多地图/过滤器 *** 作,真的是一个耻辱,默认情况下不存在)

变得更简单:

[+++]

当然,你也可以组合两个地图电话,但我更喜欢分解个别的转换.

如果要添加一些错误检查,可以使用flatMap而不是map:

[+++]

再次,如果你想,你可以明显地将地图合并到flatMap或分开它们为了简单.

[+++] 总结

以上是内存溢出为你收集整理的swift – 有没有声明性的方式将Array转换为Dictionary?全部内容,希望文章能够帮你解决swift – 有没有声明性的方式将Array转换为Dictionary?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 13, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我想从这个字符串数组中获得 let entries = ["x=5", "y=7", "z=10"] 到这个 let keyValuePairs = ["x" : "5", "y" : "7", "z" : "10"] 我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组, 我想从这个字符串数组中获得
let entrIEs = ["x=5","y=7","z=10"]

到这个

let keyvaluePairs = ["x" : "5","y" : "7","z" : "10"]

我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组,所以它是一个没有去.

有任何想法吗?

减号错误检查,看起来很像:
let foo = entrIEs.map({ 
extension Dictionary {    init(elements:[(Key,Value)]) {        self.init()        for (key,value) in elements {            updateValue(value,forKey: key)        }    }}
.componentsSeparatedByString("=") }) .reduce([String:Int]()) { acc,comps in var ret = acc ret[comps[0]] = Int(comps[1]) return ret }

使用地图将[String]转换成分割[[String]],然后使用reduce构建[String:Int]的字典.

或者,通过添加一个扩展到字典:

let dict = Dictionary(elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs.flatMap {    let parts = .componentsSeparatedByString("=")    if parts.count == 2,let value = Int(parts[1]) {        return (parts[0],value)    } else {        return nil    }})
.componentsSeparatedByString("=") }) .flatMap({ if .count == 2,let value = Int([1]) { return ([0],value) } else { return nil }}))
.componentsSeparatedByString("=") }) .map({ ([0],Int([1])!)}))

(相当有用的扩展名btw,您可以使用它在字典上的很多地图/过滤器 *** 作,真的是一个耻辱,默认情况下不存在)

变得更简单:

[+++]

当然,你也可以组合两个地图电话,但我更喜欢分解个别的转换.

如果要添加一些错误检查,可以使用flatMap而不是map:

[+++]

再次,如果你想,你可以明显地将地图合并到flatMap或分开它们为了简单.

[+++] 总结

以上是内存溢出为你收集整理的swift – 有没有声明性的方式将Array转换为Dictionary?全部内容,希望文章能够帮你解决swift – 有没有声明性的方式将Array转换为Dictionary?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 14, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我想从这个字符串数组中获得 let entries = ["x=5", "y=7", "z=10"] 到这个 let keyValuePairs = ["x" : "5", "y" : "7", "z" : "10"] 我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组, 我想从这个字符串数组中获得
let entrIEs = ["x=5","y=7","z=10"]

到这个

let keyvaluePairs = ["x" : "5","y" : "7","z" : "10"]

我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组,所以它是一个没有去.

有任何想法吗?

减号错误检查,看起来很像:
let foo = entrIEs.map({ 
extension Dictionary {    init(elements:[(Key,Value)]) {        self.init()        for (key,value) in elements {            updateValue(value,forKey: key)        }    }}
.componentsSeparatedByString("=") }) .reduce([String:Int]()) { acc,comps in var ret = acc ret[comps[0]] = Int(comps[1]) return ret }

使用地图将[String]转换成分割[[String]],然后使用reduce构建[String:Int]的字典.

或者,通过添加一个扩展到字典:

let dict = Dictionary(elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs.flatMap {    let parts = .componentsSeparatedByString("=")    if parts.count == 2,let value = Int(parts[1]) {        return (parts[0],value)    } else {        return nil    }})
.componentsSeparatedByString("=") }) .flatMap({ if .count == 2,let value = Int([1]) { return ([0],value) } else { return nil }}))
.componentsSeparatedByString("=") }) .map({ ([0],Int([1])!)}))

(相当有用的扩展名btw,您可以使用它在字典上的很多地图/过滤器 *** 作,真的是一个耻辱,默认情况下不存在)

变得更简单:

当然,你也可以组合两个地图电话,但我更喜欢分解个别的转换.

如果要添加一些错误检查,可以使用flatMap而不是map:

[+++]

再次,如果你想,你可以明显地将地图合并到flatMap或分开它们为了简单.

[+++] 总结

以上是内存溢出为你收集整理的swift – 有没有声明性的方式将Array转换为Dictionary?全部内容,希望文章能够帮你解决swift – 有没有声明性的方式将Array转换为Dictionary?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 15, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我想从这个字符串数组中获得 let entries = ["x=5", "y=7", "z=10"] 到这个 let keyValuePairs = ["x" : "5", "y" : "7", "z" : "10"] 我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组, 我想从这个字符串数组中获得
let entrIEs = ["x=5","y=7","z=10"]

到这个

let keyvaluePairs = ["x" : "5","y" : "7","z" : "10"]

我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组,所以它是一个没有去.

有任何想法吗?

减号错误检查,看起来很像:
let foo = entrIEs.map({ 
extension Dictionary {    init(elements:[(Key,Value)]) {        self.init()        for (key,value) in elements {            updateValue(value,forKey: key)        }    }}
.componentsSeparatedByString("=") }) .reduce([String:Int]()) { acc,comps in var ret = acc ret[comps[0]] = Int(comps[1]) return ret }

使用地图将[String]转换成分割[[String]],然后使用reduce构建[String:Int]的字典.

或者,通过添加一个扩展到字典:

let dict = Dictionary(elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs.flatMap {    let parts = .componentsSeparatedByString("=")    if parts.count == 2,let value = Int(parts[1]) {        return (parts[0],value)    } else {        return nil    }})
.componentsSeparatedByString("=") }) .flatMap({ if .count == 2,let value = Int([1]) { return ([0],value) } else { return nil }}))
.componentsSeparatedByString("=") }) .map({ ([0],Int([1])!)}))

(相当有用的扩展名btw,您可以使用它在字典上的很多地图/过滤器 *** 作,真的是一个耻辱,默认情况下不存在)

变得更简单:

当然,你也可以组合两个地图电话,但我更喜欢分解个别的转换.

如果要添加一些错误检查,可以使用flatMap而不是map:

再次,如果你想,你可以明显地将地图合并到flatMap或分开它们为了简单.

[+++] 总结

以上是内存溢出为你收集整理的swift – 有没有声明性的方式将Array转换为Dictionary?全部内容,希望文章能够帮你解决swift – 有没有声明性的方式将Array转换为Dictionary?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
swift – 有没有声明性的方式将Array转换为Dictionary?_app_内存溢出

swift – 有没有声明性的方式将Array转换为Dictionary?

swift – 有没有声明性的方式将Array转换为Dictionary?,第1张

概述我想从这个字符串数组中获得 let entries = ["x=5", "y=7", "z=10"] 到这个 let keyValuePairs = ["x" : "5", "y" : "7", "z" : "10"] 我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组, 我想从这个字符串数组中获得
let entrIEs = ["x=5","y=7","z=10"]

到这个

let keyvaluePairs = ["x" : "5","y" : "7","z" : "10"]

我试图使用地图,但问题似乎是一个字典中的键值对不是一个独特的类型,它只是在我的脑海里,但不是在字典类型,所以我不能真正提供一个转换函数,因为那里是没有变化的.加上地图返回一个数组,所以它是一个没有去.

有任何想法吗?

减号错误检查,看起来很像:
let foo = entrIEs.map({ 
extension Dictionary {    init(elements:[(Key,Value)]) {        self.init()        for (key,value) in elements {            updateValue(value,forKey: key)        }    }}
.componentsSeparatedByString("=") }) .reduce([String:Int]()) { acc,comps in var ret = acc ret[comps[0]] = Int(comps[1]) return ret }

使用地图将[String]转换成分割[[String]],然后使用reduce构建[String:Int]的字典.

或者,通过添加一个扩展到字典:

let dict = Dictionary(elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs    .map({ 
let dict2 = [String:Int](elements: entrIEs.flatMap {    let parts = .componentsSeparatedByString("=")    if parts.count == 2,let value = Int(parts[1]) {        return (parts[0],value)    } else {        return nil    }})
.componentsSeparatedByString("=") }) .flatMap({ if .count == 2,let value = Int([1]) { return ([0],value) } else { return nil }}))
.componentsSeparatedByString("=") }) .map({ ([0],Int([1])!)}))

(相当有用的扩展名btw,您可以使用它在字典上的很多地图/过滤器 *** 作,真的是一个耻辱,默认情况下不存在)

变得更简单:

当然,你也可以组合两个地图电话,但我更喜欢分解个别的转换.

如果要添加一些错误检查,可以使用flatMap而不是map:

再次,如果你想,你可以明显地将地图合并到flatMap或分开它们为了简单.

总结

以上是内存溢出为你收集整理的swift – 有没有声明性的方式将Array转换为Dictionary?全部内容,希望文章能够帮你解决swift – 有没有声明性的方式将Array转换为Dictionary?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1039691.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存