Arrays 从字符串数组创建数组对象

Arrays 从字符串数组创建数组对象,arrays,json,swift,Arrays,Json,Swift,我有一个字符串数组,它有x个元素,x>=2 let arrayOfString = ["A", "B"] // or let arrayOfString = ["A", "B", "C", ...] 我想使用arrayOfString创建一个这种格式的对象数组 [ { "option": "A" }, { "option": "B" }, ... ] 我尝试过创建这样的结构 struct PollOptionA

我有一个字符串数组,它有x个元素,x>=2

let arrayOfString = ["A", "B"]
// or
let arrayOfString = ["A", "B", "C", ...]
我想使用arrayOfString创建一个这种格式的对象数组

[
    {
        "option": "A"
    },
    {
        "option": "B"
    },
    ...
] 
我尝试过创建这样的结构

    struct PollOptionArray {
    let option: String
}
并在字符串数组中循环

var pollDetailArray = [PollOptionArray]()

      for index in arrayOfString {
             pollDetailArray.append(PollOptionArray(option: index)
       }
但我认为这是错误的
谁能给我一个建议吗?谢谢

一张简单的地图就可以了:

let objectArray = arrayOfString.map { [ "option" : $0 ] }
或者,根据您的
结构

let pollDetailArray = arrayOfString.map { PollOptionArray(option: $0) }

一张简单的地图将起作用:

let objectArray = arrayOfString.map { [ "option" : $0 ] }
或者,根据您的
结构

let pollDetailArray = arrayOfString.map { PollOptionArray(option: $0) }

你觉得我的方法怎么样?我刚刚根据你的
结构更新了它(我第一次回答这个问题时,这个问题没有出现)。如果您想创建一个struct数组,那么您的代码可以正常工作。我的答案中的
地图
给出了相同的结果。哦,酷。最后,有没有一种方法可以忽略空字符串,因为在我的字符串数组中,有时它是[“a”、“”、“B”],我想忽略这个空字符串。谢谢过滤数组:
let pollDetailArray=arrayOfString.Filter{!$0.isEmpty}.map{PollOptionArray(option:$0)}
你觉得我的方法怎么样?我刚刚根据你的
结构更新了它(我第一次回答这个问题时没有)。如果您想创建一个struct数组,那么您的代码可以正常工作。我的答案中的
地图
给出了相同的结果。哦,酷。最后,有没有一种方法可以忽略空字符串,因为在我的字符串数组中,有时它是[“a”、“”、“B”],我想忽略这个空字符串。谢谢筛选数组:
let pollDetailArray=arrayOfString.Filter{!$0.isEmpty}.map{PollOptionArray(选项:$0)}