DisplayedCourseTypeFilter

DisplayedCourseTypeFilter

我如何从自定义对象中找到一个特定的项,在一个巨大的数组中,比如bellow?

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值,就像这样,
let arr = viewModel.displayedCourseTypeFilter.compactMap({ $0.isSelectedType ? $0.titlesCourseType : nil })
print(arr) //["First", "Third"]

08-18 06:25