Instance Method

# last(where:)

Returns the last 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 last element of the sequence that satisfies `predicate`, or `nil` if there is no element that satisfies `predicate`.

## Discussion

This example uses the `last(where:)` method to find the last negative number in an array of integers:

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

### Finding Characters

`func contains(Character) -> Bool`

Returns a Boolean value indicating whether the sequence contains the given element.

`func allSatisfy((Character) -> Bool) -> Bool`

Returns a Boolean value indicating whether every element of a sequence satisfies a given predicate.

`func contains(where: (Character) -> Bool) -> Bool`

Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate.

`func first(where: (Character) -> Bool) -> Character?`

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

`func firstIndex(of: Character) -> Index?`

Returns the first index where the specified value appears in the collection.

`func firstIndex(where: (Character) -> Bool) -> Index?`

Returns the first index in which an element of the collection satisfies the given predicate.

`func lastIndex(of: Character) -> Index?`

Returns the last index where the specified value appears in the collection.

`func lastIndex(where: (Character) -> Bool) -> Index?`

Returns the index of the last element in the collection that matches the given predicate.

`func max() -> Character?`

Returns the maximum element in the sequence.

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

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

`func min() -> Character?`

Returns the minimum element in the sequence.

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

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