Demo:  filter

filter emits only those items which satisfy the specified boolean condition.

filter( v=> (predicate))
//Each item is delayed by v*100 milliseconds
let input = of(2,5,6,15,5,25,6,6,18,5)
       .pipe(concatMap(v=>of(v).pipe(delay(100*v))));

//filter as per the given condition
let process = filter(v => (v%5 == 0));

let output = input.pipe(process).subscribe(v=>console.log(v))