使用 if 语句映射字符串数组

问题描述 投票:0回答:1

我想从一个字符串映射到另一个字符串,但出现此错误:

无法将类型“()”的返回表达式转换为返回类型“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")
}
}

我尝试从字符串数组映射到字符串数组。我想看到我展示的内容,但出现错误。

arrays swift string if-statement mapping
1个回答
0
投票

您可以使用

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"
]
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.