我想創建一個層次結構,以便我可以將數據傳遞給我用來生成組織結構圖的插件。Javascript創建從平面對象嵌套的對象
對於我的組織結構圖,我掌握了所有需要處理的數據,例如員工和他們的一些基本數據。
FirstName
LastName
EmployeeID
ManagerEmployeeID
Manager Name
此數據存儲在一個沒有嵌套的數組或不同的層次,這就是我想實現一些的jQuery/JavaScript之間的連接。
我的目標是採取這個數組並嵌套它基於ManagerID
和EmployeeID
,所以我可以做一個樹層次結構。
我無法改變數據如何提供給我,否則我會從數據庫響應中嵌套它。
實施例的數據:
• Tom Jones
o Alice Wong
o Tommy J.
• Billy Bob
o Rik A.
♣ Bob Small
♣ Small Jones
o Eric C.
我的平坦數據例如:
{
"FirstName": "Tom"
"LastName": "Jones"
"EmployeeID": "123"
"ManagerEmployeeID": ""
"Manager Name": ""
},
{
"FirstName": "Alice"
"LastName": "Wong"
"EmployeeID": "456"
"ManagerEmployeeID": "123"
"Manager Name": "Tom Jones"
},
{
"FirstName": "Tommy"
"LastName": "J."
"EmployeeID": "654"
"ManagerEmployeeID": "123"
"Manager Name": "Tom Jones"
},
{
"FirstName": "Billy"
"LastName": "Bob"
"EmployeeID": "777"
"ManagerEmployeeID": ""
"Manager Name": ""
},
{
"FirstName": "Rik"
"LastName": "A."
"EmployeeID": "622"
"ManagerEmployeeID": "777"
"Manager Name": "Billy Bob"
},
{
"FirstName": "Bob"
"LastName": "Small"
"EmployeeID": "111"
"ManagerEmployeeID": "622"
"Manager Name": "Rik A."
},
{
"FirstName": "Small"
"LastName": "Jones"
"EmployeeID": "098"
"ManagerEmployeeID": "622"
"Manager Name": "Rik A"
},
{
"FirstName": "Eric"
"LastName": "C."
"EmployeeID": "222"
"ManagerEmployeeID": "777"
"Manager Name": "Billy Bob"
}
實施例所需的輸出:
{
"FirstName": "Tom",
"LastName": "Jones",
"EmployeeID": "123",
"ManagerEmployeeID": "",
"Manager Name": "",
{
"FirstName": "Alice",
"LastName": "Wong",
"EmployeeID": "456",
"ManagerEmployeeID": "123",
"Manager Name": "Tom Jones",
},
{
"FirstName": "Tommy",
"LastName": "J.",
"EmployeeID": "654",
"ManagerEmployeeID": "123",
"Manager Name": "Tom Jones",
},
},
{
"FirstName": "Billy",
"LastName": "Bob",
"EmployeeID": "777",
"ManagerEmployeeID": "",
"Manager Name": "",
{
"FirstName": "Rik",
"LastName": "A.",
"EmployeeID": "622",
"ManagerEmployeeID": "777",
"Manager Name": "Billy Bob",
,
{
"FirstName": "Bob",
"LastName": "Small",
"EmployeeID": "111",
"ManagerEmployeeID": "622",
"Manager Name": "Rik A.",
},
{
"FirstName": "Small",
"LastName": "Jones",
"EmployeeID": "098",
"ManagerEmployeeID": "622",
"Manager Name": "Rik A",
},
},
},
{
"FirstName": "Eric",
"LastName": "C.",
"EmployeeID": "222",
"ManagerEmployeeID": "777",
"Manager Name": "Billy Bob",
}
有沒有什麼最佳實踐來實現這樣的東西?如果我有能力在數據庫級別這樣做,我會的。但是,我只有一份數據清單,以及基於ID的經理和員工之間的關聯。
謝謝,努力嘗試整合這一點。出於某種原因,它拋出了'TypeError:data.reduce不是函數'。 – SBB
是'data'數組嗎? –
顯然它是一組對象。 (http://oi63.tinypic.com/2ivd2rt.jpg)。道歉我沒有注意到,當我寫出來的時候,我的開發環境只是一些版本。 – SBB