2024-03-05 19:01阅读: 136评论: 0推荐: 0

compactMap的用法

 

一、介绍


compactMap是Swift语言中的一个方法,用于集合类型(如数组),

它可以遍历集合中的元素,对元素应用一个闭包,然后返回闭包返回非nil值的数组。

二、区别

compactMap与map的区别在于:
compactMap会自动过滤掉闭包操作后结果为nil的元素,仅返回非nil的结果组成的数组
这常用于过滤数组中的nil值或者进行一些可能返回nil的转换操作。

三、示例:


假设有一个字符串数组,我们想将其转换为整数数组。在转换过程中,非数字字符串应被过滤掉。

let stringArray = ["1", "a", "2", "b", "3", "c"]
let intArray = stringArray.compactMap { string -> Int? in
    return Int(string)
}
print(intArray)


输出结果
[1, 2, 3]

解析:

  • stringArray是一个包含字符串的数组,其中既包含数字也包含字母。
  • 使用compactMap方法遍历stringArray数组。
  • 在compactMap的闭包中,尝试将字符串转换为整数。这里使用了Int(string)构造器,它会在字符串可以成功转换为整数时返回一个整数,否则返回nil。
  • compactMap自动过滤掉闭包返回nil的结果,即那些不能转换为整数的字符串。


最终,intArray仅包含成功转换的整数,即[1, 2, 3]。

 

本文作者:鹰翱

本文链接:https://www.cnblogs.com/guoqiang5277/articles/18054676

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   鹰翱  阅读(136)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起