小编Mak*_*ahy的帖子

如何在不覆盖Javascript的情况下将一个对象的属性添加到另一个对象中

我正在尝试将一个对象的属性添加到另一个对象中,而无需覆盖原始属性。

//Start
obj1 = {a: 1, b: 2, c: 3}
obj2 = {b: 4, c: 3, d: 4}

//Goal
obj1 = {a: 1, b: 2, c: 3, d: 4}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了以下,但我看不出它:

function mergeProp(obj1, obj2) { //obj1 is destination, obj2 is source
  for (var a in obj2) {
    if (obj2.hasOwnProperty(a) && !obj1.hasOwnProperty(a)) {
      obj1[a] = obj2[a];
    }
  }
  return obj1 //returns {a: 1, b: 4, c: 3, d: 4} should have {...b: 2...}
}
Run Code Online (Sandbox Code Playgroud)

这将返回被覆盖的属性。我尝试了这种变体,但似乎总是被覆盖,或者缺少obj1 的属性

我也试过这个代码:

function extend(obj1, obj2) …
Run Code Online (Sandbox Code Playgroud)

javascript properties add object

1
推荐指数
1
解决办法
2009
查看次数

标签 统计

add ×1

javascript ×1

object ×1

properties ×1