我想过滤可观察的结果,但得到了意想不到的结果。
我正在使用以下导入语句:
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));
有人看到语法错误和/或我遗漏的东西吗?谢谢!
最佳答案
如果您想将值作为可迭代传递(当前情况下为数组),则需要使用 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));
关于filter - Angular2 可观察过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38404074/