Ответ
Swift предоставляет богатый набор методов высшего порядка и утилит для работы с коллекциями (Array, Set, Dictionary).
Основные методы трансформации и фильтрации:
map(_:)– преобразует каждый элемент коллекции.filter(_:)– возвращает элементы, удовлетворяющие условию.reduce(_:_:)– объединяет все элементы в одно значение (например, сумму).compactMap(_:)– преобразует элементы, отфильтровываяnil.flatMap(_:)– преобразует и «разворачивает» вложенные коллекции в одну плоскую.forEach(_:)– выполняет действие для каждого элемента (без возврата нового массива).
Пример использования compactMap и map:
let numbers: [Int?] = [1, 2, nil, 4, nil, 6]
let squaredNumbers = numbers.compactMap { $0 }.map { $0 * $0 }
// Результат: [1, 4, 16, 36]
Другие полезные методы:
- Поиск и проверка:
contains(_:),first(where:),allSatisfy(_:). - Сортировка:
sorted(),sorted(by:). - Сегментация:
prefix(_:),suffix(_:),dropFirst(_:). - Группировка:
Dictionary(grouping:by:).
Использование этих методов делает код декларативным, читаемым и часто более эффективным за счет оптимизаций компилятора.