2016-07-22 101 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

相关问题