Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- guard let idx = allAnnotations.index(where: {$0 is MKUserLocation}) else {return}
- let userLocation = allAnnotations.remove(at: idx) as! MKUserLocation
- [Type1, Type1, Type1, Type1, Type1, Type1, Type2]
- [Type1, Type1, Type1, Type1, Type1, Type1]
- Type2?
- extension Array {
- mutating func popFirstElementWith(_ predicate:(Element)->(Bool)) -> Element? {
- var firstElement:Element?
- self = self.compactMap({ (element:Element) -> Element? in
- guard predicate(element) == true else {
- return element
- }
- if firstElement == nil {
- firstElement = element
- }
- return nil
- })
- return firstElement
- }
- }
- var array:[Any] = ["a", "b", 1, "c"]
- let element = array.popFirstElementWith { (element) -> (Bool) in
- return element is Int
- }
- print(element!)
- print(array)
- 1
- ["a", "b", "c"]
- extension Array {
- mutating func dropWhere(_ isIncluded: (Element) throws -> Bool) -> [Element] {
- do {
- let reverseArray = try filter { try isIncluded($0) }
- self = try filter { try !isIncluded($0) }
- return reverseArray
- } catch {
- return []
- }
- }
- }
- var array = [1, 2, 3]
- let array2 = array.dropWhere { $0 > 2 }
- print(array) //[1, 2]
- print(array2) //[3]
- var typeList = [Type1, Type1, Type1, Type1, Type1, Type1, Type2]
- var slicedArray:[ArraySlice] = typeList.split { (value) -> Bool in
- return value == YourCondition
- }
- print(slicedArray)
- extension Array {
- mutating func popFirstElementWith(_ predicate:(Element)->(Bool)) -> Element? {
- for (idx, element) in enumerated() {
- if predicate(element) {
- remove(at: idx)
- return element
- }
- }
- return nil
- }
- }
- @inlinable public mutating func removeAll(where shouldBeRemoved: (Element) throws -> Bool) rethrows
- [1,2,3].removeAll(where: { $0 == 2})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement