2017-02-11 38 views
3

我有一个struct人与人阵列如下如何过滤Observable元素的数组RxSwift

struct Person { 
    let name : String 
    let age : Int 
} 

let personArray = [ 
    Person(name : "Max", age : 32), 
    Person(name : "Jones", age : 42), 
    Person(name : "Other", age : 62) 
] 

我创建一个可观察序列如下

let seq = Observable.just(personArray) 

现在我如何过滤这个数组由相关人员的名字吗?

例如我想要一个可观察的序列,其中包含以'M'开头的人name

如何做到这一点?

回答

5

试试这个:

let seq = Observable.just(personArray) 


seq.just(personArray) 
    .map{ 
     $0.filter{ $0.name.hasPrefix("M")} 
    } 
    .subscribe(onNext: { item in 
     print(item) 
    }) 

你也可以这样做:

let seq = Observable.just(personArray.filter{ $0.name.hasPrefix("M") }) 
+0

我需要它不同于由Observable.just()产生结果的工作。因为我想稍后将它绑定到表 – Mahabub