compactMap的用法
1.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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步