Skip to content

Instantly share code, notes, and snippets.

@vladimir-anisimov
Created December 28, 2022 10:42
Show Gist options
  • Save vladimir-anisimov/dbd3435f05adb0bb7a0e93892c4223e0 to your computer and use it in GitHub Desktop.
Save vladimir-anisimov/dbd3435f05adb0bb7a0e93892c4223e0 to your computer and use it in GitHub Desktop.
extension Array {
mutating func removeFirst(where shouldBeRemoved: ((Element) -> Bool)) -> Element? {
for (index, element) in self.enumerated() {
let shouldBeRemoved: Bool = shouldBeRemoved(element)
if shouldBeRemoved == true {
return self.remove(at: index)
}
}
return nil
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment