利用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 下級...