js將有父子關系的數(shù)據(jù)轉換成樹形結構數(shù)據(jù)黍图,最簡單的方法

js代碼:

   function buildTree(list){
        let temp = {};
        let tree = [];
        for(let i in list){
            temp[list[i].treeId] = list[i];
        }
        for(let i in temp){
            if(temp[i].parentTreeId) {
                if(!temp[temp[i].parentTreeId].children) {
                    temp[temp[i].parentTreeId].children = [];
                }
                temp[temp[i].parentTreeId].children.push(temp[i]);
            } else {
                tree.push(temp[i]);
            }
        }
        return tree;
    }
    buildTree(data)

//這里需要確認的就是id(文中的treeId)和父id(parentTreeId)
//以及父子之間的聯(lián)系屬性(children )那伐,對應替換就可以了

原始數(shù)據(jù)示例:

    var data = [
        {
            "name": "aaa",
            "treeId": "1",
            "type": 1
        },
        {
            "name": "bbb",
            "parentTreeId": "1",
            "treeId": "2",
            "type": 2
        },
        {
            "name": "ccc",
            "parentTreeId": "1",
            "treeId": "3",
            "type": 3
        },
        {
            "name": "ddd",
            "parentTreeId": "1",
            "treeId": "4",
            "type": 2
        },
        {
            "abb": "eee",
            "name": "qwe123",
            "parentTreeId": "2",
            "treeId": "5",
            "type": 1
        },
        {
            "name": "fff",
            "parentTreeId": "2",
            "treeId": "6",
            "type": 2
        },
        {
            "name": "ggg",
            "parentTreeId": "3",
            "treeId": "7",
            "type": 2
        },
        {
            "name": "hhh",
            "parentTreeId": "3",
            "treeId": "8",
            "type": 2
        },
        {
            "name": "iii",
            "parentTreeId": "3",
            "treeId": "9",
            "type": 3
        },
        {
            "name": "jjj",
            "parentTreeId": "3",
            "treeId": "10",
            "type": 2
        },
        {
            "name": "kkk",
            "parentTreeId": "5",
            "treeId": "11",
            "type": 2
        },
        {
            "name": "lll",
            "parentTreeId": "5",
            "treeId": "12",
            "type": 2
        },
        {
            "name": "mmm",
            "parentTreeId": "5",
            "treeId": "13",
            "type": 2
        },
        {
            "name": "nnn",
            "parentTreeId": "5",
            "treeId": "14",
            "type": 2
        }
    ];
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末跃惫,一起剝皮案震驚了整個濱河市靶庙,隨后出現(xiàn)的幾起案子问畅,更是在濱河造成了極大的恐慌,老刑警劉巖六荒,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件护姆,死亡現(xiàn)場離奇詭異,居然都是意外死亡掏击,警方通過查閱死者的電腦和手機卵皂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砚亭,“玉大人灯变,你說我怎么就攤上這事⊥北欤” “怎么了添祸?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長寻仗。 經(jīng)常有香客問我刃泌,道長,這世上最難降的妖魔是什么署尤? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任耙替,我火速辦了婚禮,結果婚禮上曹体,老公的妹妹穿的比我還像新娘俗扇。我一直安慰自己,他們只是感情好混坞,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布狐援。 她就那樣靜靜地躺著,像睡著了一般究孕。 火紅的嫁衣襯著肌膚如雪啥酱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天厨诸,我揣著相機與錄音镶殷,去河邊找鬼。 笑死微酬,一個胖子當著我的面吹牛绘趋,可吹牛的內容都是我干的颤陶。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼陷遮,長吁一口氣:“原來是場噩夢啊……” “哼滓走!你這毒婦竟也來了?” 一聲冷哼從身側響起帽馋,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤搅方,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后绽族,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體姨涡,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年吧慢,在試婚紗的時候發(fā)現(xiàn)自己被綠了涛漂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡检诗,死狀恐怖匈仗,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情岁诉,我是刑警寧澤锚沸,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布跋选,位于F島的核電站涕癣,受9級特大地震影響,放射性物質發(fā)生泄漏前标。R本人自食惡果不足惜坠韩,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望炼列。 院中可真熱鬧只搁,春花似錦、人聲如沸俭尖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽稽犁。三九已至焰望,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間已亥,已是汗流浹背熊赖。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留虑椎,地道東北人震鹉。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓俱笛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親传趾。 傳聞我的和親對象是個殘疾皇子迎膜,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361