Arrays 从字符串数组创建数组对象
我有一个字符串数组,它有x个元素,x>=2Arrays 从字符串数组创建数组对象,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
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)}