Instance Method

filter(_:)

Returns a new collection of the same type containing, in order, the elements of the original collection that satisfy the given predicate.

Declaration

func filter(_ isIncluded: (UInt8) throws -> Bool) rethrows -> Data

Parameters

isIncluded

A closure that takes an element of the sequence as its argument and returns a Boolean value indicating whether the element should be included in the returned collection.

Return Value

A collection of the elements that isIncluded allowed.

Discussion

In this example, filter(_:) is used to include only names shorter than five characters.

let cast = ["Vivien", "Marlon", "Kim", "Karl"]
let shortNames = cast.filter { $0.count < 5 }
print(shortNames)
// Prints "["Kim", "Karl"]"

Complexity: O(n), where n is the length of the collection.

See Also

Selecting Bytes

func prefix(Int) -> Data

Returns a subsequence, up to the specified maximum length, containing the initial elements of the collection.

func prefix(through: Int) -> Data

Returns a subsequence from the start of the collection through the specified position.

func prefix(upTo: Int) -> Data

Returns a subsequence from the start of the collection up to, but not including, the specified position.

func prefix(while: (UInt8) -> Bool) -> Data

Returns a subsequence containing the initial elements until predicate returns false and skipping the remaining elements.

func suffix(Int) -> Data

Returns a subsequence, up to the given maximum length, containing the final elements of the collection.

func suffix(from: Int) -> Data

Returns a subsequence from the specified position to the end of the collection.