2016-07-15 58 views
2

我想筛选一个可观察的,但是会得到意想不到的结果。Angular2 Observable Filter

我使用下面的import语句:

import {Observable} from 'rxjs/Observable'; 
import 'rxjs/add/observable/of'; 

这个例子没有返回:

Observable.of([0, 1, 2, 3, 4, 5]) 
.filter((x: any) => x % 2 === 0) 
.subscribe(data => console.log(data)); 

此示例返回整个结果集[0,1,2,3,4,5 ]:

Observable.of([0, 1, 2, 3, 4, 5]) 
.filter((x: number[], idx) => x[idx] % 2 === 0) 
.subscribe(data => console.log(data)); 

有没有人看到语法错误和/或我失踪的东西?谢谢!

回答

2

您需要使用from,如果你想将值作为迭代(在当前情况下,阵列)

import 'rxjs/add/observable/from'; 

Observable.from([0, 1, 2, 3, 4, 5]) 
.filter((x: any) => x % 2 === 0) 
.subscribe(data => console.log(data)); 

或者,如果你想与of传递值坚守作为参数

Observable.of(0, 1, 2, 3, 4, 5) 
.filter((x: any) => x % 2 === 0) 
.subscribe(data => console.log(data)); 
相关问题