Функция высшего порядка — это функция, которая либо принимает другую функцию или замыкание в качестве параметра, возвращает одно, либо делает и то, и другое. Это ключевая часть функциональных возможностей Swift.
map — преобразует каждый элемент в коллекции и возвращает новый массивfilter — возвращает только элементы, которые удовлетворяют заданному условиюreduce — объединяет все элементы в единое значение с помощью аккумулятораcompactMap — как map, но автоматически убирает nil результатыflatMap — применяет преобразование к коллекции и разворачивает результат в один массивsorted(by:) — возвращает отсортированный массив с использованием пользовательского замыкания сравненияlet numbers = [1, 2, 3, 4, 5]
// map: удвоить каждое число
let doubled = numbers.map { $0 * 2 }
// [2, 4, 6, 8, 10]
// filter: оставить только чётные числа
let evens = numbers.filter { $0 % 2 == 0 }
// [2, 4]
// reduce: сумма всех чисел
let sum = numbers.reduce(0) { $0 + $1 }
// 15
// compactMap: распарсить строки, отбросить nil
let strings = ["1", "two", "3"]
let parsed = strings.compactMap { Int($0) }
// [1, 3]
Функции высшего порядка делают код более лаконичным, читаемым и выразительным по сравнению с ручными циклами. Они также поощряют иммутабельность, возвращая новые коллекции вместо изменения существующих, что приводит к более безопасному и предсказуемому коду.
Функция высшего порядка в Swift должна одновременно принимать функцию как параметр и возвращать функцию; она не может делать только одно из этого.
Новый — ещё не проверен сообществом
Вы