JS實現 查詢指定父節點下所有子代節點

2021-10-24 02:32:53 字數 904 閱讀 1087

利用js遍歷出某個父節點下的所有子節點,深度優先遍歷,每一次都優先遍歷子節點,所有子節點遍歷完,才返回遍歷兄弟節點

第一種方式是利用遞迴將指定父節點下的所有子節點,但該方式空間占有率較高,耗時長

function

getchildren

(parent)

}// 找body下面的所有子代節點

getchildren

(document.body)

;

第二種方式是採用迭代器獲取指定父節點下的所有子節點

迭代器:建立乙個簡單的範圍迭代器,它定義了從開始(包括)到結束(獨佔)間隔步長的整數序列。 它的最終返回值是它建立的序列的大小,由變數iterationcount跟蹤。

function

getchildren2

(parent)

}getchildren2

(document.body)

;

// 利用這兩種方式對相同頁面進行測試後的的計時結果

console.

time

("add");

getchildren

(document.body)

;console.

timeend

("add");

// add:1678 毫秒 - 倒計時結束

console.

time

("add");

getchildren2

(document.body)

;console.

timeend

("add");

// add:677 毫秒 - 倒計時結束

mysql實現查詢指定父級下的所有子級

mysql 中沒有支援遞迴的查詢,自行編寫函式實現。如資料庫裡有部門表dept,欄位有id name pid create table dept id int 11 not null,name varchar 20 pid int 11 not null,primary key id 插入資料 in...

根據子節點遞迴查詢所有父節點

有個需求,需要根據給定的子節點向上遞迴查詢所有父節點,網上查詢了一些,但是都不是很滿意,有的是需要用到全域性變數定義儲存列表,但是會有併發問題,然後自己手寫乙個 test void contextloads1 public listgetpid listidlist,integer pid,list...

SQL 函式 查詢 父節點下所有子節點的資料值

sql函式 alter function dbo fn getchildren bmsno varchar 20 0 第一級取公司,否則傳入乙個部門編號 jibie int 1,目前共 n 級,0 公司 1 事業部 1 全部 type int 0 層級 0 下級 多級 1 自身加下級 多級 2 下級...