Instance Method

# first(where:)

Returns the first element of the sequence that satisfies the given predicate.

## Parameters

`predicate`

A closure that takes an element of the sequence as its argument and returns a Boolean value indicating whether the element is a match.

## Return Value

The first element of the sequence that satisfies `predicate`, or `nil` if there is no element that satisfies `predicate`.

## Discussion

The following example uses the `first(where:)` method to find the first negative number in an array of integers:

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

### Finding Elements

`func max() -> Int?`

Returns the maximum element in the sequence.

`func max(by: (Int, Int) -> Bool) -> Int?`

Returns the maximum element in the sequence, using the given predicate as the comparison between elements.

`func min() -> Int?`

Returns the minimum element in the sequence.

`func min(by: (Int, Int) -> Bool) -> Int?`

Returns the minimum element in the sequence, using the given predicate as the comparison between elements.

`func integerLessThanOrEqualTo(IndexSet.Element) -> IndexSet.Element?`

Returns an integer contained in `self` which is less than or equal to `integer`, or `nil` if a result could not be found.

`func integerGreaterThan(IndexSet.Element) -> IndexSet.Element?`

Returns an integer contained in `self` which is greater than `integer`, or `nil` if a result could not be found.

`func integerGreaterThanOrEqualTo(IndexSet.Element) -> IndexSet.Element?`

Returns an integer contained in `self` which is greater than or equal to `integer`, or `nil` if a result could not be found.

`func integerLessThan(IndexSet.Element) -> IndexSet.Element?`

Returns an integer contained in `self` which is less than `integer`, or `nil` if a result could not be found.