Swift高阶函数map,filter,reduce

2020-08-04  本文已影响0人  赵哥窟

map

map 用于映射, 可以将一个列表转换为另一个列表.

将Int数组转换为String数组

//$0代表数组的元素
let array = [1, 2, 3, 4, 5 , 6, 7]
let result = array.map{
  String($0)
}
print("result:",result);

filter

filter:过滤,可以对数组中的元素按照某种规则进行过滤
输出数组大于5的元素

let filtrArray = [1, 2, 3, 4, 5 , 6, 7]
        let result2 = filtrArray.filter{
          $0 > 5
  }
print("result2:",result2);

reduce

计算

//计算数组array元素的和
//在这里$0和$1的意义不同,$0代表元素计算后的结果,$1代表元素
//10代表初始化值,在这里可以理解为 $0初始值 = 10
let result3 = array.reduce(10){  
  $0 + $1
}

合并

let result4 = array.reduce(""){$0 + "\($1)"}// 转换为字符串并拼接
print("result4:",result4);
上一篇下一篇

猜你喜欢

热点阅读