在 Swift 4.1 之前,我曾经从集合flatMap
中删除nil
值。现在此方法已弃用,我需要将其替换为compactMap
. 有时我使用flatMap
惰性集合来优化我的代码,如下所示:
let optionalIntegers : [Int?] = [1, 2, nil, 3, 4, nil, nil, 5]
optionalIntegers.lazy.flatMap { $0 }.forEach { print("Item \($0 * 10)") }
如果我使用compactMap
而不是,它会产生相同的效果flatMap
吗?在该方法的文档中,lazy
我找到了对map
且filter
仅引用。