# 常用函数 map / filter / reduce

URL: https://caijiao.org/swift/05-collections/05-functional
Source: docs/swift/05-collections/05-functional.md
Description: 本章介绍 Swift 中常用的高阶函数 map、filter 和 reduce，帮助开发者高效处理集合数据，实现函数式编程。

Swift 提供多种高阶函数，方便对集合进行转换、筛选和聚合操作。

## map

`map` 对集合的每个元素应用转换闭包，返回新集合：

```swift
let numbers = [1, 2, 3, 4]
let squares = numbers.map { $0 * $0 }
print(squares)  // 输出 [1, 4, 9, 16]
````

## filter

`filter` 根据条件闭包筛选元素，返回符合条件的新集合：

```swift
let evenNumbers = numbers.filter { $0 % 2 == 0 }
print(evenNumbers)  // 输出 [2, 4]
```

## reduce

`reduce` 把集合元素组合成一个值，传入初始值和累加闭包：

```swift
let sum = numbers.reduce(0) { $0 + $1 }
print(sum)  // 输出 10
```

这三个函数是函数式编程的基础，能让代码更简洁、易读和高效。
