2013-05-31 42 views
0

我正在jQueryMobile和PhoneGap中工作。如何將兩個對象的值合併爲一個使用javascript

我有2個對象:eupgld。的eup長度爲22,和gld長度爲6

我曾嘗試:

//common.push(eup,gld); 
//common.join(eup,gld); 
//common.concat(eup,gld); 

alert(common.length) // 2 

當我檢查common.length,這是2

但我的邏輯,我需要它1.這意味着合併eupgld,並將其長度顯示爲1.我從兩個不同的API獲得eupgld的結果,並且它的JSON格式爲。 主要的是兩個對象的標籤是相同的。所以我認爲應該可以將這些值合併爲一,並將其​​長度顯示爲1。

有沒有解決方案?

+0

這些數組的結構是哪一個? – Alvaro

+0

爲什麼1?最終數組的長度應該是28,對嗎? – Diode

+0

喜歡這張 { 「company_data」:{ 「門」: 「2-4門」, 「傳輸」: 「手動」, 「AIRCONDITION」: 「A/C」, 「CarSize」: 「xxxx」, 「type」:「ss」, 「total_price」:「1124.16」 } } – Amir

回答

4

聽起來好像你想擴展一個對象,而不是連接一個數組。

var common = $.extend({}, eup, gld); 

但是,這將覆蓋用普通鍵的值。要合併而不覆蓋,該解決方案將在Merge JS objects without overwriting進行解釋。

+0

或純JS擴展http:// ejohn。org/blog/simple-javascript-inheritance/ – maximkou

+0

@Derek: 其實我的要求是; 在我的申請中;我有兩個或更多的API。在其作爲JSON格式的響應中;在結果中給出了很多標籤,但是我的所需詳細信息在名爲「company_data」的標籤中給出。 所以現在我收集company_data詳細信息到每個響應文件中的數組。 var gld = new Array(); var common = new Array() 當我從每個API調用得到結果時;其company_data被設置爲其數組值。 – Amir

+0

@Amir,我很抱歉,但我不明白你在說什麼。你可能會發布你期望的'common'看起來像什麼嗎?看到結果將有助於消除混淆併爲您提供工作解決方案。 (順便說一下,不要使用'new Array()';而是使用'[]'。) –

相關問題