複雜樹結構,快速獲得節點

2021-09-25 20:41:50 字數 647 閱讀 9233

先來看乙個專案中常見的結構:

const tree = , , ,

arr: [1, 2, 3],

haha: "test",

id: 4, children: , title: '4'

}], title: '3'

}, ]

}

我們經常需要做這樣乙個操作,根據查詢tree裡的某個節點,比如說找到id為4的節點,並返回當前節點,最普通的辦法就是遍歷:

function fun0(tarid, node)  else if(item.children.length) 

}} console.log(fun0(4, [tree]))

但是如果結構再複雜些,或者層級非常多的話,就會很消耗時間。如果層級能變成1的話,會省去很多時間。

以下是兩種解決辦法,轉為字串,根據字元匹配找到當前節點,再用字串截取出當前節點之後,再轉為物件return。

1)用字元查詢的辦法

function fun1(tarid, tree) ") else if(item===" else }}

let end = -1

soilder = 0

for(let i=0; i2)正則匹配

C 如何按照樹結構獲得裝配元件列表

通過遞迴來實現樹列表的節點查詢 private listmaddcomps new list 裝配樹結構列表 查詢裝配樹結構 private void cyclechildrensofparent component parti 然後在使用時只要先找出根節點rootcomponent即可。根節點定義...

mysql查出樹結構的所有子節點

tree結構表 create table model struc id varchar 36 not null comment id name varchar 50 default null comment 名稱 morder varchar 255 default null comment 排序 ...

無限極設計以及隨意移動節點(樹結構)

1.表設計 create table party examine bank type id bigint 20 not null comment 型別id ancestors text comment 祖級列表 parent id bigint 20 default 0 comment 父id na...