diff --git a/AppleLibs/Utils/Collections/Array+Extended.swift b/AppleLibs/Utils/Collections/Array+Extended.swift index e7ba6966211deab712f67fab12bee43737abcb87..7779ee8a2f3a36617dfa393cf84bc16ef2845aa7 100644 --- a/AppleLibs/Utils/Collections/Array+Extended.swift +++ b/AppleLibs/Utils/Collections/Array+Extended.swift @@ -21,4 +21,22 @@ public extension Array where Element: Equatable } return secondArrayCopy.isEmpty } + + @discardableResult mutating func remove(item: Element) -> Bool { + if let index = firstIndex(of: item) { + self.remove(at: index) + return true + } + return false + } + + @discardableResult mutating func remove(where predicate: (Array.Iterator.Element) -> Bool) -> Bool { + if let index = self.firstIndex(where: { (element) -> Bool in + return predicate(element) + }) { + self.remove(at: index) + return true + } + return false + } }