Instance Method


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


func last(where predicate: (Element) throws -> Bool) rethrows -> Element?



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.


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

let numbers = [3, 7, 4, -2, 9, -6, 10, 1]
if let lastNegative = numbers.last(where: { $0 < 0 }) {
    print("The last negative number is \(lastNegative).")
// Prints "The last negative number is -6."

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