如何过滤Observable元素的数组| RxSwift

Mah*_*bub 6 rx-swift swift3

我有一个struct Person和person数组如下

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)
]
Run Code Online (Sandbox Code Playgroud)

我创建了一个可观察的序列,如下所示

let seq = Observable.just(personArray)
Run Code Online (Sandbox Code Playgroud)

现在如何按相关人名过滤此数组?

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

这该怎么做 ??

XFr*_*ire 12

试试这个:

let seq = Observable.just(personArray)


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

你也可以这样做:

let seq = Observable.just(personArray.filter{ $0.name.hasPrefix("M") })
Run Code Online (Sandbox Code Playgroud)