如何在JavaScript中合并2个对象?例如如果objB.a2不存在,则objB.a2 = objA.a2

objA = {
  a1:
  a2:
  a3:
}

objB = {
  a1:
  a3:
}
for (var k in objB) {
  if (typeof objB[k] === 'undefined') {
       // objB[k] =
  }
}

最佳答案

使用jQuery,您可以执行以下操作:

$.extend(objB, objA);


这会将objA的所有属性合并到objB中。要将它们合并为一个新对象,请执行以下操作:

var objC = {};
$.extend(objC, objA, objB);


如果没有jQuery,您可以这样做(将objA的属性添加到objB):

for (var attrname in objA) { objB[attrname] = objA[attrname]; }


有关更多详细信息,请参见:How can I merge properties of two JavaScript objects dynamically?

10-06 11:51