數(shù)組轉樹結構怎么操作
縹緲止盈
2019-05-07 08:43:09
TA貢獻1796條經(jīng)驗 獲得超10個贊
origin.map(p=>p.split('/')).reduce((output,path)=>{path.reduce((parent,child)=>{if(parent&&!parent.children){parent.children=[{label:child}]returnparent=parent.children[0]}letcontainer=parent?parent.children:outputparent=container.find(c=>c.label===child)if(!parent){parent={label:child}container.push(parent)}returnparent},null)returnoutput},[])
TA貢獻1804條經(jīng)驗 獲得超8個贊
手機答題,姑且說下思路。一個切入點是字符串數(shù)據(jù)結構。字符串可以通過索引訪問字符,比如varstrDemo='mw5209';,那么strDemo[0]就是字符'm',以此類推,strDemo[3]就是字符'2'。同時,字符串也會有l(wèi)ength屬性,有總長可以索引訪問那就構建for循環(huán)唄,循環(huán)里放個變量,每次取一個字符,不是斜線就存到變量里,是斜線就把變量里的東西拿出來構建一級子樹,同時變量清空繼續(xù),直到遍歷完成,最后別忘記把變量里的東西拿出來收個尾就行了。另一個切入點,String標準庫有.split()方法,你把字符串視為以斜線分割的數(shù)組,有數(shù)組了那把成員挨個拿出來構建子樹唄。還有個點是正則,不過這個需求不強求吧。
舉報