Instance Method

lastIndex(where:)

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

Parameters

predicate

A closure that takes an element as its argument and returns a Boolean value that indicates whether the passed element represents a match.

Return Value

The index of the last element in the collection that matches predicate, or nil if no elements match.

Discussion

You can use the predicate to find an element of a type that doesn’t conform to the Equatable protocol or to find an element that matches particular criteria. This example finds the index of the last name that begins with the letter A:

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

Finding Elements

func contains(Element) -> Bool

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

func contains(where: (Element) -> Bool) -> Bool

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

func allSatisfy((Element) -> Bool) -> Bool

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

func first(where: (Element) -> Bool) -> Element?

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

func firstIndex(of: Element) -> Int?

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

func index(of: Element) -> Int?

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

Deprecated
func firstIndex(where: (Element) -> Bool) -> Int?

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

func last(where: (Element) -> Bool) -> Element?

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

func lastIndex(of: Element) -> Int?

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

func min() -> Element?

Returns the minimum element in the sequence.

func min(by: (Element, Element) -> Bool) -> Element?

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

func max() -> Element?

Returns the maximum element in the sequence.

func max(by: (Element, Element) -> Bool) -> Element?

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