我是rxjs的新手,需要找到一个算法,通过树内的id来查找节点。这是我最好的方法(gistrun中的公开要点):
{username: 'user1', id: 1, lastName: 'ln1' }
{username: 'user2', id: 0, lastName: 'ln2' }
它没找到根,我想走路只扔掉与id开始相匹配的叶子,丢弃我发明的轮子。
提前全部谢谢。
答案 0 :(得分:1)
好的,我不会详细介绍您的树例子,但我可以回答您的问题,这可能会帮助您弄清楚一些事情。
如何维护状态
一种简单的方法是将状态保存在临时对象中
Observable.of(1)
.flatMap(number => Observable.of({ start: number, value: 'a' }))
.subscribe(({start, value}) => console.log(start + '/' + value)); // output: 1/a
是否有任何运算符可以通过regexp进行过滤?
不,但你可以像这样轻松地做到这一点
let names$ = Observable.of('adam', 'amy', 'ben');
let regex = /a.*/;
names$.filter(name => regex.test(name)) // emits: 'adam', 'amy
任何rxjs运算符都会执行递归查找吗?
是的,有扩展运营商。这是一个简单的例子,它应该指导你的方式
Observable.of(3)
.expand(x => Observable.of(x-1))
.takeWhile(x => x >= 0); // emits: 3, 2, 1, 0