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

Merge two data structures based on common value in JavaScript?

本文关键字:数据结构 两个 合并 JavaScript 基于      更新时间:2023-09-26

我有以下情况,两个对象必须根据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])

JSFIDDLE