Swift集合类型高阶函数(三)

filter、reduce (swift 5.3)的使用

filter

过滤,可以对数组中的元素按照某种规则进行一次过滤。

1
2
3
let numbers = [1, 3, 5, 7, 9]
let filterNumbers = numbers.filter { $0 < 5 }
print(filterNumbers)

输出结果如下

1
[1, 3]

reduce

计算,可以对数组的元素进行计算

1
2
3
4
5
6
let animals1 = ["Dog", "Cat", "Pig"]
let string = animals1.reduce("Dog", {
// $0: result, $1: 数组的值
return $0 == "Cat" ? $1 : $0 + "," + $1
})
print(string)

输出的结果如下

1
Dog,Dog,Cat,Pig