樹形資料的無限級別(遞迴實現)

2021-10-09 03:20:18 字數 1596 閱讀 4230

從後台獲取到資料根據前端的需要重組資料,因為後端沒有component所以得依據後端資料匹配前端的路由拿到component

下面是兩個模擬的資料

// 模擬後端的資料

let ceshi =[,

]}]}

]}]}

,]},

]}]}

];//模擬前端的資料

key代表component

let ceshi1 =[,

]}]}

]},]

}]},

]}]}

,]資料都準備完成,下面是遞迴的方法,不知道為什麼 第乙個chong遞迴的方法就已經完成了能把key都賦值上去了,但有時候會把所有資料返回來,但是裡面沒有key。為了解決這個所以我又用了again這個遞迴把沒有key的去掉,這樣就是前端需要展示的路由資料了。

function

chong

(root,yuanshi)

// console.log(root[i].val,"root[j]")

root[i]

.key = yuanshi[j]

.key;}}

}}chong

(ceshi,ceshi1)

;function

again

(root)if(

!item.key)})

}again

(ceshi)

; console.

log(ceshi,

"ceshi1"

)

這是打出來的結果(我把**3的val後台模擬是c3 前端是c5,兩個不相等所以我把沒要的去掉了);這樣就可以動態設定資料了

下面是實際專案中的 這是用在後台管理系統上的vuex裡面的

routers

(store,data)

)function

chong

(root,yuanshi)

// console.log(root[i].val,"root[j]")

root[i]

= yuanshi[j];}

}}}chong

(res.data,routes)

;function

again

(root)if(

!item.component)})

}again

(res.data)

;let arr =

; arr = res.data;

//這是最終的資料

store.

commit

('routers'

, arr)

;resolve

(arr)})

.catch

(err=>)})},

這是實際專案中的效果

遞迴處理無限級分類為樹形陣列

處理乙個無限分類問題,之前是用的多級ajax實現,但是衡量了一下,總資料量不大,決定用樹形陣列組織一下資料形成js檔案,直接放到頁面裡 error reporting 0 function formate arr arrdata,arrmdata,intl else unset arrmdata i...

php不用遞迴實現無限分類資料的樹形格式化

此方法由 tonton 提供 date 2012 12 12 function gentree5 items 將資料格式化成樹形結構 author xuefen.tong param array items return array function gentree9 items items arr...

不用遞迴實現無限分類資料的樹形格式化

php 此方法由 tonton 提供 date 2012 12 12 function gentree5 items 將資料格式化成樹形結構 author xuefen.tong param array items return array function gentree9 items items...