基于JavaScript中的公共值合并两个数据结构?

基于JavaScript中的公共值合并两个数据结构?,javascript,object,Javascript,Object,我有以下两个对象的情况,必须基于value1合并,并且我知道属性是key1=namekey1: 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}] 有什么方法可以做到这一点吗?下面是一个基于您对key1=namekey1的了解的简单示例 但是,如果这两个对象都

我有以下两个对象的情况,必须基于value1合并,并且我知道属性是key1=namekey1:

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}]

有什么方法可以做到这一点吗?

下面是一个基于您对
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])

它们中的任何一个会有相同的密钥名吗?如果是这样会发生什么?您是否尝试过任何我们可以帮助您解决的问题,而不是建议一个完整的解决方案?(顺便说一句,你的例子也不是有效的代码。也不清楚你是否想要包含数组,你的代码有数组,但你的文本没有)我尝试了js map和extend,但我只得到了第二个对象,而不是混合的对象…也许我误解了库