struct Item { var ID: String}
如何使用reduce函数将所有ID附加到数组?
我尝试了什么:
self.items.reduce([String](),{struct Item { var ID: String}var items = [Item(ID: "text1"),Item(ID: "text2")]let reduceResult = items.reduce([String](),{.0.append(.1.ID)})let reduceResult = items.map { .ID }+ [.ID] } )reduceResult // ["text1","text2"]
但编译显示错误:
解决方法 如果你想用reduce来做,这里是Swift 3和4的片段:Contextual closure type ‘(_,[Item]) -> _’ expects 2 arguments,but 1 was used in closure body
有两个问题:
> Reduce给你2个参数,而不是带有2个值的单个元组
>您无法编辑块中传递给您的参数,您必须返回新对象
但在这种情况下,最好的解决方案是使用map:
总结以上是内存溢出为你收集整理的swift – 使用reduce将struct的属性追加到数组全部内容,希望文章能够帮你解决swift – 使用reduce将struct的属性追加到数组所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)