swift map 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")]
0
0
let myDictionary = myArray.reduce([Int: String]()) { (dict, person) -> [Int: String] in
var dict = dict
dict[person.position] = person.name
return dict
}
//[2: "b", 3: "c", 1: "a"]
Thank you!
0
0
Are there any code examples left?
New code examples in category Swift
-
Swift 2022-03-27 20:55:05 swift sleep milliseconds
-
Swift 2022-03-27 18:20:18 swift how to call a function
-
Swift 2022-03-27 13:40:24 swift loop through array
-
Swift 2022-03-27 06:15:23 swift image button blue
-
Swift 2022-03-25 03:15:09 Finger Print in Swift
-
Swift 2022-03-25 02:20:26 swift save data to file
-
Swift 2022-03-25 00:20:01 closure swift
-
Swift 2022-03-24 13:45:28 change textview link color swift
-
Swift 2022-03-19 12:45:01 swift uitextfield only numbers keyboard lock programmatically
-
Swift 2022-03-18 00:25:20 how to read music library from iphone programmatically in swift