swift – 使用reduce将struct的属性追加到数组
发布时间:2020-12-14 04:39:46 所属栏目:百科 来源:网络整理
导读:我有一系列的项目 struct Item { var id: String} 如何使用reduce函数将所有id附加到数组? 我尝试了什么: self.items.reduce([String](),{ $0.0.append($0.1.id)}) 但编译显示错误: Contextual closure type ‘(_,[Item]) - _’ expects 2 arguments,but
我有一系列的项目
struct Item { var id: String } 如何使用reduce函数将所有id附加到数组? 我尝试了什么: self.items.reduce([String](),{ $0.0.append($0.1.id)}) 但编译显示错误:
解决方法
如果你想用reduce来做,这里是Swift 3和4的片段:
struct Item { var id: String } var items = [Item(id: "text1"),Item(id: "text2")] let reduceResult = items.reduce([String](),{ $0 + [$1.id] } ) reduceResult // ["text1","text2"] 有两个问题: > Reduce给你2个参数,而不是带有2个值的单个元组 但在这种情况下,最好的解决方案是使用map: let reduceResult = items.map { $0.id } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |