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)”,它输出所有很酷的值,但我需要能够分离不同的值(如我所愿,使用点或逗号),这可能吗?再次感谢!