Instance Method

drop(while:)

Returns a sequence by skipping the initial, consecutive elements that satisfy the given predicate.

Declaration

func drop(while predicate: (UInt8) throws -> Bool) rethrows -> DropWhileSequence<SHA256Digest>

Parameters

predicate

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 result.

Return Value

A sequence starting after the initial, consecutive elements that satisfy predicate.

Discussion

The following example uses the drop(while:) method to skip over the positive numbers at the beginning of the numbers array. The result begins with the first element of numbers that does not satisfy predicate.

let numbers = [3, 7, 4, -2, 9, -6, 10, 1]
let startingWithNegative = numbers.drop(while: { $0 > 0 })
// startingWithNegative == [-2, 9, -6, 10, 1]

If predicate matches every element in the sequence, the result is an empty sequence.

Complexity: O(k), where k is the number of elements to drop from the beginning of the sequence.

See Also

Excluding Bytes

func dropFirst(Int) -> DropFirstSequence<SHA256Digest>

Returns a sequence containing all but the given number of initial elements.

func dropLast(Int) -> [UInt8]

Returns a sequence containing all but the given number of final elements.