首页 > 解决方案 > 在 Swift 5 中从数组创建字典

问题描述

我需要为数组的第一个索引从具有自定义类型的数组创建一个字典。

样本数组:["ABC","ZYZ","123"]

所需结果: [{"name" : "ABC", "type:"A"},{"name" : "ZYZ", "type:"B"},{"name" : "123", "type: “乙”}]

注意第一个索引的类型 A。

我的代码

for url in urlArray {
        urlDict["name"] = url
    }

标签: iosarraysswiftdictionary

解决方案


您可以执行 a map,然后单独更改第一个字典的类型:

var dicts = urlArray.map { ["name": $0, "type": "B"] }
dicts[0]["type"] = "A"

看看你所有的字典键都是一样的,并且你正在将它发送到服务器,Codable结构可能是一个更好的选择。

struct NameThisProperly : Codable {
    var name: String
    var type: String
}

var result = urlArray.map { NameThisProperly(name: $0, type: "B") }
result[0].type = "A"
do {
    let data = try JSONDecoder().encode(result)
    // you can now send this data to server
} catch let error {
    ...
}

推荐阅读