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

时间:2016-07-22 11:36:44

标签: 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}]

我有办法做到这一点吗?

1 个答案:

答案 0 :(得分: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