是否可以将对象推入现有对象的属性中

ami*_*o21 2 javascript

我想附加到这个对象:

var obj =
{
   "myKey":
   {
       "subkey": [1,2,3]
   }
};
Run Code Online (Sandbox Code Playgroud)

这是我想要附加的其他子项的对象 obj

var addKeys = {
   "subkey2" [3,4,5],
   "subkey3" [5,6,7]
}
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情,obj.myKey.push(addKeys);但我知道这只适用于数组.我的最终对象应该看起来像这样:

var obj =
{
   "myKey":
   {
       "subkey": [1,2,3],
       "subkey2" [3,4,5],
       "subkey3" [5,6,7]
   }
};
Run Code Online (Sandbox Code Playgroud)

Fra*_*bot 5

 var obj =
{
   "myKey":
   {
       "subkey": [1,2,3]
   }
};

var addKeys = {
   "subkey2": [3,4,5],
   "subkey3": [5,6,7]
};
 
 Object.assign(obj.myKey, addKeys)
 
 console.log(obj);
Run Code Online (Sandbox Code Playgroud)

Object.assign将覆盖第一个参数.它被称为"破坏性"操作.如果要合并对象并返回一个新对象:

 var obj =
{
   "myKey":
   {
       "subkey": [1,2,3]
   }
};

var addKeys = {
   "subkey2": [3,4,5],
   "subkey3": [5,6,7]
};
 
var merged = Object.assign({}, obj.myKey, addKeys)
 
 console.log(merged);
 console.log(obj);
Run Code Online (Sandbox Code Playgroud)