Sequence
protocol Sequence
-
Returns an array containing the non-
nilresults of calling the given transformation with each element of this sequence.Use this method to receive an array of nonoptional values when your transformation produces an optional value.
In this example, note the difference in the result of using
mapandfilterOutNilwith a transformation that returns an optionalIntvalue.let possibleNumbers = ["1", "2", "three", "///4///", "5"] let mapped: [Int?] = possibleNumbers.map { str in Int(str) } // [1, 2, nil, nil, 5] let flatMapped: [Int] = filterOutNil { str in Int(str) } // [1, 2, 5]Complexity
O(m + n), where m is the length of this sequence and n is the length of the result.
Declaration
Swift
public func filterOutNil<ElementOfResult>( _ transform: (Self.Element) throws -> ElementOfResult? ) rethrows -> [ElementOfResult]Parameters
transformA closure that accepts an element of this sequence as its argument and returns an optional value.
Return Value
An array of the non-
nilresults of callingtransformwith each element of the sequence.
View on GitHub
Install in Dash
Sequence Extension Reference