У меня есть следующее расширение Swift Collection
в моем проекте. Есть ли стандартное название для этой процедуры? Или что-то похожее в стандартной библиотеке, которую я пропустил? В приведенном здесь примере я фильтрую по KeyPath
, но это также может быть функция, которая не принимает аргументов и работает со всем значением.
extension Collection where Element: Hashable {
func removingItemsWhichMatchTheirImmediatePredecessor<T: Hashable>(by keyPath: KeyPath<Element, T>) -> [Element] {
reduce(into: [Element]()) { (result, element) in
if result.last?[keyPath: keyPath] != element[keyPath: keyPath] { result.append(element) }
}
}
}