首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于惰性集合的SWIFT4.1 compactMap

用于惰性集合的SWIFT4.1 compactMap
EN

Stack Overflow用户
提问于 2018-04-19 08:51:53
回答 1查看 829关注 0票数 2

在SWIFT4.1之前,我使用flatMap从集合中删除nil值。现在不推荐这个方法了,我需要用compactMap替换它。有时,我使用flatMap和惰性集合来优化代码,如下所示:

代码语言:javascript
复制
let optionalIntegers : [Int?] = [1, 2, nil, 3, 4, nil, nil, 5]
optionalIntegers.lazy.flatMap { $0 }.forEach { print("Item \($0 * 10)") }

如果我使用compactMap而不是flatMap,它会有同样的效果吗?在lazy方法的文档中,我只找到了对mapfilter的引用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-19 12:18:43

是的,完全一样。他们只是决定消除flatMap函数的模糊性,并将其中一个函数重命名为compactMap,以免使开发人员感到困惑。

以下是建议::)

我们建议放弃有争议的Sequence.flatMap方法版本,并在不同的、可能更具描述性的名称下提供相同的功能。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49916730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档