Instance MethodSwift
firstIndex(where:)
Returns the first index in which an element of the collection satisfies the given predicate.
Available because
Self
conforms toCollection
.
func firstIndex(where predicate: (Self.Element) throws -> Bool) rethrows -> Self.Index?
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.
Returns
The index of the first element for which predicate
returns true
. If no elements in the collection satisfy the given predicate, returns nil
.
Overview
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. Here’s an example that finds a student name that begins with the letter “A”:
let students = ["Kofi", "Abena", "Peter", "Kweku", "Akosua"]
if let i = students.firstIndex(where: { $0.hasPrefix("A") }) {
print("\(students[i]) starts with 'A'!")
}
// Prints "Abena starts with 'A'!"