Высшего порядка операции над последовательностями: преобразование, фильтрация, свёртка; compactMap отбрасывает nil.
Разбор
map сохраняет count (кроме optional цепочек).
compactMap = map + убрать nil.
flatMap на последовательностях склеивает вложенные.
- Читаемость важнее «цепочек ради цепочек».
Пример
let n = strings.compactMap(Int.init)
Итог
Функциональные операции сокращают императивные циклы при ясной трансформации.