0
我是rxjs的新手,需要找到一種算法來通過樹中的id查找節點。這是我的最好的方法(可作爲公共要點在gistrun):rxjs樹搜索
const value= "c.1.3";
const tree= [
{
"id": "c.1",
"children": [
{
"id": "c.1.1"
},
{
"id": "c.1.2"
},
{
"id": "c.1.3"
}
]
}
];
const findTree= (tree)=>Rx.Observable.from(tree)
.mergeMap(node=>{
if(!!node.children)
return findTree(node.children);
return Rx.Observable.of(node);
})
.find(node=>node.id==value);
findTree(tree).subscribe(console.info);
它的失敗尋找根源,我想只有走扔匹配的ID開始的葉子和丟棄我發明了車輪。
- 如何維持一級搜索?
- 是否有任何運算符通過正則表達式篩選?
- 任何rxjs運算符都會執行遞歸查找嗎?
非常感謝。
我的第一個問題是,爲什麼你想讓這段代碼可觀察? –
沒有什麼特別的需要,因爲我試圖將所有東西都實現爲流。我想知道我是否可以用功能性(不可逆性,無副作用和可聲明性)和反應性(反常性)我的樹模型的好處來管理,這與標籤系統有關,該標籤系統將隨着時間無限增長。我對這個解決方案有很多解決方法,但我對此很好奇...... – jgpATs2w