[Swift 开发] Swift高阶函数:Map,Filter,Reduce
来源:互联网 发布:painter for mac 编辑:程序博客网 时间:2024/06/05 04:01
1: map用于将每个数组元素通过某个方法进行转换。
例如:
我们用一个Int类型数组存储商品金额,想把每个金额后面添加一个字符“.00元”,把数组转成字符串数组
let numbers2 = [10, 15, 99, 66, 25];let totalNumber2 = numbers2.map({money in "(money)元"})print(totalNumber2)
使用 flatMap
函数替代 map
函数的原因在于前者能够忽略可选值为 nil 的情况。例如flatMap([0,nil,1,2,nil])
的结果是[0,1,2]
。处理那些没有 city 属性的情况这 会非常有用。
2: filter用于选择数组元素中满足某种条件的元素。
let numbers2 = [10, 15, 99, 66, 25];let totalNumber2 = numbers2.filter { money in money > 30}print(totalNumber2)
证明字符串中含有某个单词
let words = ["Swift","iOS","cocoa","OSX","tvOS"]let tweet = "This is an example tweet larking about Swift"let valid = !words.filter({tweet.containsString($0)}).isEmpty
或者
words.contains(tweet.containsString)
3:reduce方法把数组元素组合计算为一个值。
我们使用上面例子计算数组元素的和,结果应该为215
let numbers2 = [10, 15, 99, 66, 25];let totalNumber2 = numbers2.reduce(200, combine: { $0+$1 })print(totalNumber2)
反转数组:
// $0 指累加器(accumulator),$1 指遍历数组得到的一个元素[1, 2, 3, 4, 5].reduce([Int](), combine: { [$1] + $0 })// 5, 4, 3, 2, 1
0 0
- [Swift 开发] Swift高阶函数:Map,Filter,Reduce
- Swift高阶函数:Map,Filter,Reduce等-Part 1
- Swift高阶函数map,filter,reduce实践
- Swift高阶函数:Map,Filter,Reduce等-Part 1
- swift map filter reduce函数
- Swift高阶函数介绍(闭包、Map、Filter、Reduce)
- Swift 函数Count,Filter,Map,Reduce
- Swift函数式编程之Map&Reduce&Filter
- Swift函数式编程之Map&Reduce&Filter
- javaScript 高阶函数 map/reduce/filter
- 高阶函数:Filter、Map和Reduce
- 高阶函数:map、reduce、filter、sorted
- python 高阶函数 map/reduce/filter/
- Swift详解之五-----------map,filter,reduce
- swift_046(Swift map,filter, reduce方法)
- Swift中的map flatMap filter reduce
- python中的高阶函数map(),reduce(),filter()的区别
- Python高阶函数:filter、map、reduce、lambda
- json对象和json字符串转化
- Java 对HashMap<String,Double>排序
- c++与asm混合编程例子
- Android skia浅析
- easyUI框架下使用下拉框的级联查询
- [Swift 开发] Swift高阶函数:Map,Filter,Reduce
- 文字自动换行,保留空格和换行符
- Python文件处理
- Objective-C Runtime之着魔的UIAlertView
- Hive之分区(Partitions)和桶(Buckets)
- Tomcat7启动报错:Exception in thread "http-apr-8080-exec-6" java.lang.OutOfMemoryError: PermGen space
- Python脚本 基础脚本训练
- C++ Q&A(五) 再论new操作符
- 最全的apple pay苹果支付步奏