日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java id pid_根据id,pid生成树结构,再生成id,pid形式

發布時間:2024/9/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java id pid_根据id,pid生成树结构,再生成id,pid形式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近做一個樹形表格,從數據庫讀出來給前端后,用插件老是有一些顯示的錯誤,可能是因為插件還需要數據按順序排好,so就有了這種轉樹再轉回來的奇葩想法

var data = [{

"Id": 1,

"Key": "params",

"Value": "",

"Pid": -1

}, {

"Id": 3,

"Key": "filter",

"Value": "",

"Pid": 1

}, {

"Id": 2,

"Key": "method",

"Value": "Post|Get",

"Pid": 1

}, {

"Id": 4,

"Key": "$and",

"Value": "",

"Pid": 3

}, {

"Id": 6,

"Key": "it:pt",

"Value": "@it:pt",

"Pid": 4

}, {

"Id": 5,

"Key": "bo:well",

"Value": "@bo:well",

"Pid": 4

}]

console.log(readTree(getTree(data, -1)[0], []))

//轉成樹

function getTree(data, Pid) {

let result = []

let temp

for (let i = 0; i < data.length; i++) {

if (data[i].Pid == Pid) {

temp = getTree(data, data[i].Id)

if (temp.length > 0) {

data[i].children = temp

}

result.push(data[i])

}

}

return result

}

//樹再轉回來

function readTree(data, val) {

val.push({

Id: data.Id,

Key: data.Key,

Value: data.Value,

Pid: data.Pid

})

if (data.children) {

for (let i = 0; i < data.children.length; i++) {

readTree(data.children[i], val)

}

return val

}

}

[ { Id: 1, Key: 'params', Value: '', Pid: -1 },

{ Id: 3, Key: 'filter', Value: '', Pid: 1 },

{ Id: 4, Key: '$and', Value: '', Pid: 3 },

{ Id: 6, Key: 'it:pt', Value: '@it:pt', Pid: 4 },

{ Id: 5, Key: 'bo:well', Value: '@bo:well', Pid: 4 },

{ Id: 2, Key: 'method', Value: 'Post|Get', Pid: 1 } ]

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的java id pid_根据id,pid生成树结构,再生成id,pid形式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。