Search in an array

I can search for a value in an array if I know the position of the item in the array, but how can I search by another parameter like ID number or name?

Code Block
import UIKit
struct Horse {
    var name : String
    var idNumber : Int
    var sire : String
    var dam : String
}
var myHorses = [
    Horse(name: "Donnerhall", idNumber: 1, sire: "Unknown", dam: "Unknown"),
    Horse(name: "Celeste", idNumber: 2, sire: "Unknown", dam: "Unknown"),
    Horse(name: "Kara", idNumber: 3, sire: "1", dam: "2"),
    ]
    func lookupHorse() {
        let index = 1
        print(myHorses[index].idNumber)
print(myHorses[index].name)
            }


Answered by OOPer in 657884022
Swift Array has many methods to search, an example:
Code Block
let searchIdNumber = 2
if let foundHorse = myHorses.first(where: {$0.idNumber == searchIdNumber}) {
print(foundHorse.name)
} else {
print("Not Found")
}



Better check the part Finding Elements in the documentation of Array.
Accepted Answer
Swift Array has many methods to search, an example:
Code Block
let searchIdNumber = 2
if let foundHorse = myHorses.first(where: {$0.idNumber == searchIdNumber}) {
print(foundHorse.name)
} else {
print("Not Found")
}



Better check the part Finding Elements in the documentation of Array.
Great, thanks!
Search in an array
 
 
Q