swift convert array to dictionary
extension Array { public func toDictionary<Key: Hashable>(with selectKey: (Element) -> Key) -> [Key:Element] { var dict = [Key:Element]() for element in self { dict[selectKey(element)] = element } return dict } } // Example struct Person { var name: String var surname: String var identifier: String } let arr = [Person(name: "John", surname: "Doe", identifier: "JOD"), Person(name: "Jane", surname: "Doe", identifier: "JAD")] let dict = arr.toDictionary { $0.identifier } print(dict) // Result: ["JAD": Person(name: "Jane", surname: "Doe", identifier: "JAD"), "JOD": Person(name: "John", surname: "Doe", identifier: "JOD")]