Swift是一门面向协议的语言,且对函数式编程提供了很好的支持,其中Swift提供了map,filter,reduce这三个高阶函数(Higher Order function)作为对容器的支持。以下是这三个函数的使用方法。
1、map:转换,可以对数组中的元素格式进行转换
//将Int数组转换为String数组
//$0代表数组的元素
let array= [1,2,3,4,5,6,7]
let result =array.map{
String($0)
}
2、filter:过滤,可以对数组中的元素按照某种规则进行过滤
//在array中过滤出偶数
let result2 =array.filter{
$0%2==0
}
3、reduce:计算 ,可以对数组中的元素进行计算
//计算数组array元素的和
//在这里$0和$1的意义不同,$0代表元素计算后的结果,$1代表元素
//10代表初始化值,在这里可以理解为$0初始值 =10
let result3 = array.reduce(10){
$0+$1
}