Ios 如何从一个巨大的数组中的自定义对象中找到一个特定的项-Swift

Ios 如何从一个巨大的数组中的自定义对象中找到一个特定的项-Swift,ios,swift,swift5,swift5.1,Ios,Swift,Swift5,Swift5.1,我怎样才能从像bellow这样的巨大数组中的自定义对象中找到特定项 struct ResponseCourseTypeFilter { var returnCourseTypeFilter: [[String : String]] } struct ViewModelCourseTypeFilter { struct DisplayedCourseTypeFilter { var titlesCourseType: String var isSe

我怎样才能从像bellow这样的巨大数组中的自定义对象中找到特定项

struct ResponseCourseTypeFilter {
    var returnCourseTypeFilter: [[String : String]]
}

struct ViewModelCourseTypeFilter {
    struct DisplayedCourseTypeFilter {
        var titlesCourseType: String
        var isSelectedType: Bool
    }
    var displayedCourseTypeFilter: [DisplayedCourseTypeFilter]
}

我需要获取值
titlesCourseType
true


我的
数组
很大。

如果假设
ViewModelCourseTypeFilter
实例如下:

let viewModel = ViewModelCourseTypeFilter(displayedCourseTypeFilter: [
    DisplayedCourseTypeFilter(titlesCourseType: "First", isSelectedType: true),
    DisplayedCourseTypeFilter(titlesCourseType: "Second", isSelectedType: false),
    DisplayedCourseTypeFilter(titlesCourseType: "Third", isSelectedType: true)
])

然后,您可以获得所有
标题CourseType
值,其中
isSelectedType=true
如下所示

let arr = viewModel.displayedCourseTypeFilter.compactMap({ $0.isSelectedType ? $0.titlesCourseType : nil })
print(arr) //["First", "Third"]
使用


更好?

您是否需要筛选类型为
CourseTypeFilter
的数组我找不到数组示例,但我猜您的数组是
CourseTypeFilter
的数组
array.first(其中:{$0.isSelectedType==true})
如果您只需要一项,那么这就是所有项的
array.filter{$0.isSelectedType==true}
。@施汗。我需要获取titlesCourseType为true的值。
titlesCourseType
是字符串,您的意思是属性
为SelectedType
?您想过滤数组
displayedCourseTypeFilter
还是其他数组?您的
数组有多大,是数千还是数百万?@PGDev。它适用于大型阵列吗?例如,在本网站上,10000个条目。只有代码的答案通常不受欢迎。请编辑您的答案,包括一些注释或对代码的解释,好吗?解释应该回答这样的问题:它做什么?它是如何做到的?它去哪里了?它如何解决OP的问题?请参阅:。谢谢哦,是的,我正在努力做得更好。
let arr = viewModel.displayedCourseTypeFilter.filter { $0.isSelectedType }