我想从一个字符串映射到另一个字符串,但出现此错误:
无法将类型“()”的返回表达式转换为返回类型“String”
我的代码:
var months: [String] = ["sonbahar", "kis", "ilkbahar", "yaz"]
var aylar: [String]
aylar = months.map { _ in return
if months == "sonbahar" {
print("eylul ekim kasim")
}
if months == "kis" {
print("aralik ocak subat")
}
if months == "ilkbahar" {
print("mart nisan mayis")
}
if months == "yaz" {
print("haziran temmuz agustos")
}
}
我尝试从字符串数组映射到字符串数组。我想看到我展示的内容,但出现错误。
您可以使用
reduce
函数从数组中构建字典,例如:
let dictionary: [String:String] = months.reduce(into: [:]) { partialResult, key in
switch key {
case "sonbahar": partialResult[key] = "eylul ekim kasim"
case "kis": partialResult[key] = "aralik ocak subat"
case "ilkbahar": partialResult[key] = "mart nisan mayis"
case "yaz": partialResult[key] = "haziran temmuz agustos"
default: break
}
}
这种情况下的结果将是:
[
"yaz": "haziran temmuz agustos",
"ilkbahar": "mart nisan mayis",
"sonbahar": "eylul ekim kasim",
"kis": "aralik ocak subat"
]