说我有以下词典[" Lionel Messi":" 170cm"]
如果我只知道密钥字符串的一部分,是否有可能找到该键值对。换句话说,如果我只有字符串" Lione",是否有可能找到上面提到的键值对。
答案 0 :(得分:3)
func findPartOfString(partOfKey: String, myDict: Dictionary) -> String {
for (key, value) in myDict {
if key.containsString(partOfKey) {
return value
}
}
return null
}
编辑:
这是使用Swift2的一种新的更短的方式:
func findPartOfString(partOfKey: String, myDict: Dictionary) -> String {
for (key, value) in myDict where key.containsString(partOfString) {
return value
}
return null
答案 1 :(得分:3)
let filter = "Lionel"
let dict = ["Lionel Messi" : "170cm", "Me" : "Taller"]
let result = dict.keys.filter { $0.containsString(filter) }
if let first = result.first {
print("match found: (\(first) => \(dict[first]!))")
}
输出
匹配发现:( Lionel Messi => 170cm)