Arrays 如何连接数组中的特定字符串?[快捷方式]
我有一个数组:Arrays 如何连接数组中的特定字符串?[快捷方式],arrays,concatenation,swiftui,Arrays,Concatenation,Swiftui,我有一个数组: struct Main: Identifiable { var id = UUID() var value: String var type: String } var mainArray = [Main]() 我需要将数组中每个元素的“var值”输出到文本(“”)中 类似:Text((主[index].value)”) 但我不知道正确的方法 此外,我还需要能够通过以下函数调整得到的值: func readMain() -> String {
struct Main: Identifiable {
var id = UUID()
var value: String
var type: String
}
var mainArray = [Main]()
我需要将数组中每个元素的“var值”输出到文本(“”)中
类似:Text((主[index].value)”)
但我不知道正确的方法
此外,我还需要能够通过以下函数调整得到的值:
func readMain() -> String {
if main[index].value == "specificContent" { return "Correct" }
else { return "Incorrect"}
}
然后添加我的文本(readMain())
,但返回数组中的所有值,如:
文本(“正确、不正确、不正确、正确、正确”)
有什么想法吗
提前谢谢 我想你在寻找这样的东西:
@State private var mainArray = [Main]()
var body: some View {
ForEach(mainArray) { main in
Text(
main.value == "correctValue" ?
"Correct" :
"Incorrect"
)
}
}
这将分别打印(mainArray中每个主元素的)value属性是否“正确”
但是,如果希望文本显示在一行中,并用空格字符分隔不同的主数组值,可以执行以下操作:
@State private var mainArray = [Main]()
var body: some View {
Text(
mainArray
.map {
$0.value == "correctValue" ?
"Correct" :
"Incorrect"
}
.joined(separator: " ")
)
}
在上面的示例中,mainArray被转换成一个字符串数组,其中包含值是否“正确”的描述,然后这些值被合并成一个字符串,并用空格(“”)分隔它们。感谢您的回答,我认为它接近于解决方案:)正确“不正确”这只是一个例子,实际上我数组中的值可以是:“书名1”、“电影名2”、“书名2”等等。。。我想输出:Text(“书名1,电影名2,书名2”),我试着用你的第一个示例代码写“Text(main.value)”,它输出所有很酷的值,但我需要能够分离不同的值(如我所愿,使用点或逗号),这可能吗?再次感谢!