下面我有兩個數組分組的排列:創建使用兩種不同的陣列
array1 = [{
"type":"test",
"name":"name1"},
{
"type":"dev",
"name":"name2"}]
array2=[{
"type":"test",
"name":"name3"},
{
"type":"dev",
"name":"name4"},
{
"type":"prod",
"name":"name5"}]
我想組的兩個陣列,「類型」,並創建一個新的數組是這樣的:
finalArray=[{
"type":"test",
"info":[{
"type":"test",
"name":"name1"}],
[{
"type":"test",
"name":"name3"
}]},
{
"type":"dev",
"info":[{
"type":"dev",
"name":"name2"}],
[{
"type":"dev",
"name":"name4"}]},
{
"type":"prod",
"info":[],
[{
"type":"prod",
"name":"name5"}]
}]
無論如何,我可以使用javascript,angularjs2,lodash,jquery來實現這一點。我能集團和中using lodash .groupBy. how to add your own keys for grouped output?
提及,但唯一的事情就是總是我想從第二陣列推的「信息」和第一個指數= 0指數= 1的數據創建新的對象。如果任何數組沒有「類型」,那麼「信息」數組應該有空/空值。
關於你的問題 - 「類型」: 「督促」 是舉st在第二個數組(array2)中,其餘的類型都在兩個數組中 - 因此,在最終數組中,'info'鍵將保存 - 一個空數組(array1中不存在的類型)和一個array2中的鍵/值如果我理解正確):) – sinisake
根據您的解釋更新。現在很清楚。 – Chybie
@Chybie - 感謝我期待的解決方案。我還有一個問題,我如何在.map(x => x.type)中動態地傳遞'type'。因爲我將它保存在一個常用的方法中,所以我可以通過將密鑰名稱作爲參數進行分組來將它們分組。 – user3878988