2013-01-11 35 views
0

我嘗試合併類似的信息(我展示它在JSON)合併兩個數組在JavaScript中的一些邏輯

[["Field1","0"],["Field2","0"],["Field3","0"]] 

{"0":{"Name":"Foo","Lastname":"Bar"}} 

當我做

$.extend({}, firstArray, secondArray); 

我get in JSON

{ 
"0":{"Name":"Foo","Lastname":"Bar"}, 
"1":["Field1","0"], 
"2":["Field2","0"] 
} 

你可以看到第一個數組是與第二個數組混合的。我希望它能像這樣被包裝起來

{ 
"0":{"Name":"Foo","Lastname":"Bar"}, 
"1":[ "1": ["Field1","0"],"2":["Field2","0"]] 
} 

所以後來當我消耗它時,我可以將字段填充爲一個數組。可能嗎?我無法讓它工作。有任何想法嗎?

+0

您的「1」鍵的值語法不正確。它應該是一個新的對象或數組? – joeltine

+0

爲什麼Field3缺失?那背後的邏輯是什麼? – Jon

+0

我想我不明白這個問題。我們看到你得到了什麼,但你期望什麼。 jQuery文檔正是你所得到的。你在尋找[[「Field1」,「0」],[「Field2」,「0」],[「Field3」,「0」]] push({「0」:{「Name」:「Foo 」, 「姓氏」: 「酒吧」});或者是什麼? – Sam

回答

1

看起來像你只需要添加secondArray作爲firstArray的屬性,但轉換成一個對象。可以實現這樣的:

firstArray["1"] = $.extend({}, {}, secondArray); 

現在firstArray變爲:

{ 
"0":{"Name":"Foo","Lastname":"Bar"}, 
"1":{"0": ["Field1","0"], "1":["Field2","0"]} 
} 

我希望這是夠好。

0

firstarray = firstarray.concat(secondarray)

相關問題