Ios 如何从一个巨大的数组中的自定义对象中找到一个特定的项-Swift
我怎样才能从像bellow这样的巨大数组中的自定义对象中找到特定项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
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 }