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

How can I find a specific item from custom object in a huge array - Swift

如何从像下面这样的巨大数组中的自定义对象中找到特定项目?

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

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

我需要获取值 titlesCourseTypetrue

我的 array 很大。

如果假设 ViewModelCourseTypeFilter 实例是这样的,

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

然后你可以获得所有 titlesCourseType 值,其中 isSelectedType = true 像这样,

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

使用

let arr = viewModel.displayedCourseTypeFilter.filter { [=10=].isSelectedType }

更好?