---
title: "drop(while:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/unsaferawbufferpointer/iterator/drop(while:)"
---

# drop(while:)

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

## Declaration

```swift
func drop(while predicate: (Self.Element) throws -> Bool) rethrows -> DropWhileSequence<Self>
```

## 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

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

## Discussion

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. note: O(k), where k is the number of elements to drop from the beginning of the sequence.
