我试图从字典中返回一串选定的值。当我遍历字典和从中获取键的数组时,我可以打印出该值,但是作为不同的字符串,而不是组合在一起。
到目前为止,我已经迭代了集合类型,并在一定程度上尝试了 map、filter、reduce。还尝试将结果放入数组和字典中以使用 .joined,但我一直都没有。
这是我从中获取值的字典:
let letterDict = ["a": "1", "b": "2", "c": "3", "d": "4"]
这是我正在查询的数组:
let characterArray = ["a", "b"]
这是我能够从以下位置获得结果的代码:
func convertText(_ input: String) -> String {
var expectedText: String?
for character in characterArray {
for (key, value) in letterDict {
if key.contains(character) {
print(value)
expectedText = value
}
}
}
return expectedText ?? input
}
我正在尝试返回12
,但我得到的是:
1
2
每时每刻。即使我尝试将它们映射到数组,它也只会返回单独的数组(或字典)。当我尝试附加到一个数组时,它只返回 nil。
提前致谢。
您需要附加value
到expectedText
而不是分配它。
func convertText(_ input: String) -> String {
var expectedText = ""
for character in characterArray {
for (key, value) in letterDict {
if key.contains(character) {
expectedText += value
}
}
}
return expectedText.isEmpty ? input : expectedText
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句