Error[8]: Undefined offset: 6, 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 arr = [(key:"hey", value:["ho"]), (key:"ha", value:["tee", "hee"])] 我将它分成两个数组,如下所示: let (keys, values) = (arr.map{$0.key}, arr.map{$0.value}) 实际上,这与zip相反 – 我将一组元组转换为两个数组. 但我不喜欢我两次调用map的事实 我有一组键值对:
let arr = [(key:"hey",value:["ho"]),(key:"ha",value:["tee","hee"])]

我将它分成两个数组,如下所示:

let (keys,values) = (arr.map{
let (keys,values) = arr.reduce(into: ([String](),[[String]]())) {    forEach.0.append(.key)    
/// Unzip an `Array` of key/value tuples.////// - Parameter array: `Array` of key/value tuples./// - Returns: A tuple with two arrays,an `Array` of keys and an `Array` of values.func unzip<K,V>(_ array: [(key: K,value: V)]) -> ([K],[V]) {    var keys = [K]()    var values = [V]()    keys.reserveCapacity(array.count)    values.reserveCapacity(array.count)    array.forEach { key,value in        keys.append(key)        values.append(value)    }    return (keys,values)}
.1.append(.value)}
.key},arr.map{
extension Array {    /// Unzip an `Array` of key/value tuples.    ///    /// - Returns: A tuple with two arrays,an `Array` of keys and an `Array` of values.    func unzip<K,V>() -> ([K],[V]) where Element == (key: K,value: V) {        var keys = [K]()        var values = [V]()        keys.reserveCapacity(count)        values.reserveCapacity(count)        forEach { key,value in            keys.append(key)            values.append(value)        }        return (keys,values)    }}
.value})

实际上,这与zip相反 – 我将一组元组转换为两个数组.

但我不喜欢我两次调用map的事实,因为这意味着我将循环遍历数组两次.然而,我既不想预先将两个目标数组声明为空数组,而是在追加时循环一次,例如与forEach.是否有一些很棒的Swifty成语可以将我的元组数组解压缩成两个数组?

在Swift 4中,你可以使用reduce(into :): [+++]

你说:

Yet neither do I want to declare the two target arrays beforehand as empty arrays and loop once while appending,e.g. with [+++].

就个人而言,这正是我要做的.我只想编写一个执行此 *** 作的函数(这样您就不会使用该模式填充代码).但我认为以下内容比减少模式更加清晰和直观,但不会遭受双映射方法的低效率.

[+++]

或者,如果您觉得有必要将其作为扩展,那么您也可以这样做:

[+++]

无论你想要实现这个,但是当你在一个函数中使用它时,你可以支持清晰度和意图.

总结

以上是内存溢出为你收集整理的与Swift`zip`相反 – 将元组分成两个数组全部内容,希望文章能够帮你解决与Swift`zip`相反 – 将元组分成两个数组所遇到的程序开发问题。

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

)
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: 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 arr = [(key:"hey", value:["ho"]), (key:"ha", value:["tee", "hee"])] 我将它分成两个数组,如下所示: let (keys, values) = (arr.map{$0.key}, arr.map{$0.value}) 实际上,这与zip相反 – 我将一组元组转换为两个数组. 但我不喜欢我两次调用map的事实 我有一组键值对:
let arr = [(key:"hey",value:["ho"]),(key:"ha",value:["tee","hee"])]

我将它分成两个数组,如下所示:

let (keys,values) = (arr.map{
let (keys,values) = arr.reduce(into: ([String](),[[String]]())) {    forEach.0.append(.key)    
/// Unzip an `Array` of key/value tuples.////// - Parameter array: `Array` of key/value tuples./// - Returns: A tuple with two arrays,an `Array` of keys and an `Array` of values.func unzip<K,V>(_ array: [(key: K,value: V)]) -> ([K],[V]) {    var keys = [K]()    var values = [V]()    keys.reserveCapacity(array.count)    values.reserveCapacity(array.count)    array.forEach { key,value in        keys.append(key)        values.append(value)    }    return (keys,values)}
.1.append(.value)}
.key},arr.map{
extension Array {    /// Unzip an `Array` of key/value tuples.    ///    /// - Returns: A tuple with two arrays,an `Array` of keys and an `Array` of values.    func unzip<K,V>() -> ([K],[V]) where Element == (key: K,value: V) {        var keys = [K]()        var values = [V]()        keys.reserveCapacity(count)        values.reserveCapacity(count)        forEach { key,value in            keys.append(key)            values.append(value)        }        return (keys,values)    }}
.value})

实际上,这与zip相反 – 我将一组元组转换为两个数组.

但我不喜欢我两次调用map的事实,因为这意味着我将循环遍历数组两次.然而,我既不想预先将两个目标数组声明为空数组,而是在追加时循环一次,例如与forEach.是否有一些很棒的Swifty成语可以将我的元组数组解压缩成两个数组?

在Swift 4中,你可以使用reduce(into :):

你说:

Yet neither do I want to declare the two target arrays beforehand as empty arrays and loop once while appending,e.g. with [+++].

就个人而言,这正是我要做的.我只想编写一个执行此 *** 作的函数(这样您就不会使用该模式填充代码).但我认为以下内容比减少模式更加清晰和直观,但不会遭受双映射方法的低效率.

[+++]

或者,如果您觉得有必要将其作为扩展,那么您也可以这样做:

[+++]

无论你想要实现这个,但是当你在一个函数中使用它时,你可以支持清晰度和意图.

总结

以上是内存溢出为你收集整理的与Swift`zip`相反 – 将元组分成两个数组全部内容,希望文章能够帮你解决与Swift`zip`相反 – 将元组分成两个数组所遇到的程序开发问题。

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

)
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 arr = [(key:"hey", value:["ho"]), (key:"ha", value:["tee", "hee"])] 我将它分成两个数组,如下所示: let (keys, values) = (arr.map{$0.key}, arr.map{$0.value}) 实际上,这与zip相反 – 我将一组元组转换为两个数组. 但我不喜欢我两次调用map的事实 我有一组键值对:
let arr = [(key:"hey",value:["ho"]),(key:"ha",value:["tee","hee"])]

我将它分成两个数组,如下所示:

let (keys,values) = (arr.map{
let (keys,values) = arr.reduce(into: ([String](),[[String]]())) {    forEach.0.append(.key)    
/// Unzip an `Array` of key/value tuples.////// - Parameter array: `Array` of key/value tuples./// - Returns: A tuple with two arrays,an `Array` of keys and an `Array` of values.func unzip<K,V>(_ array: [(key: K,value: V)]) -> ([K],[V]) {    var keys = [K]()    var values = [V]()    keys.reserveCapacity(array.count)    values.reserveCapacity(array.count)    array.forEach { key,value in        keys.append(key)        values.append(value)    }    return (keys,values)}
.1.append(.value)}
.key},arr.map{
extension Array {    /// Unzip an `Array` of key/value tuples.    ///    /// - Returns: A tuple with two arrays,an `Array` of keys and an `Array` of values.    func unzip<K,V>() -> ([K],[V]) where Element == (key: K,value: V) {        var keys = [K]()        var values = [V]()        keys.reserveCapacity(count)        values.reserveCapacity(count)        forEach { key,value in            keys.append(key)            values.append(value)        }        return (keys,values)    }}
.value})

实际上,这与zip相反 – 我将一组元组转换为两个数组.

但我不喜欢我两次调用map的事实,因为这意味着我将循环遍历数组两次.然而,我既不想预先将两个目标数组声明为空数组,而是在追加时循环一次,例如与forEach.是否有一些很棒的Swifty成语可以将我的元组数组解压缩成两个数组?

在Swift 4中,你可以使用reduce(into :):

你说:

Yet neither do I want to declare the two target arrays beforehand as empty arrays and loop once while appending,e.g. with .

就个人而言,这正是我要做的.我只想编写一个执行此 *** 作的函数(这样您就不会使用该模式填充代码).但我认为以下内容比减少模式更加清晰和直观,但不会遭受双映射方法的低效率.

[+++]

或者,如果您觉得有必要将其作为扩展,那么您也可以这样做:

[+++]

无论你想要实现这个,但是当你在一个函数中使用它时,你可以支持清晰度和意图.

总结

以上是内存溢出为你收集整理的与Swift`zip`相反 – 将元组分成两个数组全部内容,希望文章能够帮你解决与Swift`zip`相反 – 将元组分成两个数组所遇到的程序开发问题。

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

)
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 arr = [(key:"hey", value:["ho"]), (key:"ha", value:["tee", "hee"])] 我将它分成两个数组,如下所示: let (keys, values) = (arr.map{$0.key}, arr.map{$0.value}) 实际上,这与zip相反 – 我将一组元组转换为两个数组. 但我不喜欢我两次调用map的事实 我有一组键值对:
let arr = [(key:"hey",value:["ho"]),(key:"ha",value:["tee","hee"])]

我将它分成两个数组,如下所示:

let (keys,values) = (arr.map{
let (keys,values) = arr.reduce(into: ([String](),[[String]]())) {    forEach.0.append(.key)    
/// Unzip an `Array` of key/value tuples.////// - Parameter array: `Array` of key/value tuples./// - Returns: A tuple with two arrays,an `Array` of keys and an `Array` of values.func unzip<K,V>(_ array: [(key: K,value: V)]) -> ([K],[V]) {    var keys = [K]()    var values = [V]()    keys.reserveCapacity(array.count)    values.reserveCapacity(array.count)    array.forEach { key,value in        keys.append(key)        values.append(value)    }    return (keys,values)}
.1.append(.value)}
.key},arr.map{
extension Array {    /// Unzip an `Array` of key/value tuples.    ///    /// - Returns: A tuple with two arrays,an `Array` of keys and an `Array` of values.    func unzip<K,V>() -> ([K],[V]) where Element == (key: K,value: V) {        var keys = [K]()        var values = [V]()        keys.reserveCapacity(count)        values.reserveCapacity(count)        forEach { key,value in            keys.append(key)            values.append(value)        }        return (keys,values)    }}
.value})

实际上,这与zip相反 – 我将一组元组转换为两个数组.

但我不喜欢我两次调用map的事实,因为这意味着我将循环遍历数组两次.然而,我既不想预先将两个目标数组声明为空数组,而是在追加时循环一次,例如与forEach.是否有一些很棒的Swifty成语可以将我的元组数组解压缩成两个数组?

在Swift 4中,你可以使用reduce(into :):

你说:

Yet neither do I want to declare the two target arrays beforehand as empty arrays and loop once while appending,e.g. with .

就个人而言,这正是我要做的.我只想编写一个执行此 *** 作的函数(这样您就不会使用该模式填充代码).但我认为以下内容比减少模式更加清晰和直观,但不会遭受双映射方法的低效率.

或者,如果您觉得有必要将其作为扩展,那么您也可以这样做:

[+++]

无论你想要实现这个,但是当你在一个函数中使用它时,你可以支持清晰度和意图.

总结

以上是内存溢出为你收集整理的与Swift`zip`相反 – 将元组分成两个数组全部内容,希望文章能够帮你解决与Swift`zip`相反 – 将元组分成两个数组所遇到的程序开发问题。

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

)
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`zip`相反 – 将元组分成两个数组_app_内存溢出

与Swift`zip`相反 – 将元组分成两个数组

与Swift`zip`相反 – 将元组分成两个数组,第1张

概述我有一组键值对: let arr = [(key:"hey", value:["ho"]), (key:"ha", value:["tee", "hee"])] 我将它分成两个数组,如下所示: let (keys, values) = (arr.map{$0.key}, arr.map{$0.value}) 实际上,这与zip相反 – 我将一组元组转换为两个数组. 但我不喜欢我两次调用map的事实 我有一组键值对:
let arr = [(key:"hey",value:["ho"]),(key:"ha",value:["tee","hee"])]

我将它分成两个数组,如下所示:

let (keys,values) = (arr.map{
let (keys,values) = arr.reduce(into: ([String](),[[String]]())) {    forEach.0.append(.key)    
/// Unzip an `Array` of key/value tuples.////// - Parameter array: `Array` of key/value tuples./// - Returns: A tuple with two arrays,an `Array` of keys and an `Array` of values.func unzip<K,V>(_ array: [(key: K,value: V)]) -> ([K],[V]) {    var keys = [K]()    var values = [V]()    keys.reserveCapacity(array.count)    values.reserveCapacity(array.count)    array.forEach { key,value in        keys.append(key)        values.append(value)    }    return (keys,values)}
.1.append(.value)}
.key},arr.map{
extension Array {    /// Unzip an `Array` of key/value tuples.    ///    /// - Returns: A tuple with two arrays,an `Array` of keys and an `Array` of values.    func unzip<K,V>() -> ([K],[V]) where Element == (key: K,value: V) {        var keys = [K]()        var values = [V]()        keys.reserveCapacity(count)        values.reserveCapacity(count)        forEach { key,value in            keys.append(key)            values.append(value)        }        return (keys,values)    }}
.value})

实际上,这与zip相反 – 我将一组元组转换为两个数组.

但我不喜欢我两次调用map的事实,因为这意味着我将循环遍历数组两次.然而,我既不想预先将两个目标数组声明为空数组,而是在追加时循环一次,例如与forEach.是否有一些很棒的Swifty成语可以将我的元组数组解压缩成两个数组?

在Swift 4中,你可以使用reduce(into :):

你说:

Yet neither do I want to declare the two target arrays beforehand as empty arrays and loop once while appending,e.g. with .

就个人而言,这正是我要做的.我只想编写一个执行此 *** 作的函数(这样您就不会使用该模式填充代码).但我认为以下内容比减少模式更加清晰和直观,但不会遭受双映射方法的低效率.

或者,如果您觉得有必要将其作为扩展,那么您也可以这样做:

无论你想要实现这个,但是当你在一个函数中使用它时,你可以支持清晰度和意图.

总结

以上是内存溢出为你收集整理的与Swift`zip`相反 – 将元组分成两个数组全部内容,希望文章能够帮你解决与Swift`zip`相反 – 将元组分成两个数组所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存