【发布时间】:2019-08-30 11:10:01
【问题描述】:
我正在尝试从字典中返回一串选定的值。当我遍历字典和从中获取键的数组时,我可以打印出值,但作为不同的字符串,而不是组合。
到目前为止,我已经迭代了集合类型,并在一定程度上尝试了 map、filter、reduce。还尝试将结果放入数组和字典中以使用 .joined,但我总是得到 nil。
这是我从中获取值的字典:
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。
提前致谢。
【问题讨论】:
-
实际上你从那个函数返回的是 2。甚至不是 1 2 这个结果是因为你打印了这些值。如果要在同一行中打印值,请使用;
print(char, terminator: "")@Dávid Pásztor 给出的真实问题你已经有了正确答案
标签: swift dictionary