2016-07-22 112 views
-2

我有,我有合併基礎上value1和我知道屬性兩個對象下列情況鍵1 = namekey1:基於JavaScript中的公共值合併兩個數據結構?

obja = [{ key1: value1; a : 1 ; b : 2}] 
objb = [ {namekey1: value1; d : 3 ; c : 4}] 

期望的結果

objc = [{ key1: value1; a : 1 ; b : 2 ;d : 3 ; c : 4}] 

有沒有辦法,我可以做這個?

+3

他們中的任何一個是否有相同的鍵名?如果是這樣會怎樣?您是否也嘗試過任何可以幫助您解決問題而不是提出完整解決方案的內容? (順便說一句,你的例子也不是有效代碼,也不清楚你的意思是不是有數組參與,你的代碼有它們,但是你的文本沒有) –

+0

我試過_.js映射和擴展,但我只得到第二個對象不是混合的...也許我誤會了圖書館 –

回答

0

以下是基於您對key1= namekey1的瞭解的最小示例。

然而,如果可能發生,這兩個目標都有,你需要檢查是否有相同的一組屬性名稱和只添加這不是obja

var obja = [{ key1: 'value1', a : 1, b : 2}] 
var objb = [ {namekey1: 'value1', d : 3, c : 4}] 

if(obja[0].key1==objb[0].namekey1){ 
obja[0].d = objb[0].d; 
obja[0].c = objb[0].c; 
} 
console.log(obja[0]) 

JSFIDDLE這些屬性的一些常見key.For

相關問題