javascript - 是否可以将对象插入现有对象的属性中

原文 标签 javascript

我想附加到这个对象:

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

这是我想附加到obj的其他子项的对象
var addKeys = {
   "subkey2" [3,4,5],
   "subkey3" [5,6,7]
}

我想做类似obj.myKey.push(addKeys);的事情,但我知道这仅适用于数组。我的最终对象最终应该看起来像这样:
var obj =
{
   "myKey":
   {
       "subkey": [1,2,3],
       "subkey2" [3,4,5],
       "subkey3" [5,6,7]
   }
};

最佳答案

 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);


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);

关于javascript - 是否可以将对象插入现有对象的属性中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45595218/

相关文章:

javascript - 是否可以在客户端和服务器端设置td的宽度?

javascript - 在卸载javascript之前,请关闭服务器端聊天连接

javascript - 混合数据类型,函数和对象

javascript - 如何处理 "Unchecked runtime.lastError: The message port closed before a response was received"?

javascript - MVC5 Ajax.ActionLink 加载新页面而不是替换

javascript - 如何使用jQuery读取外部html文件并将其存储到字符串变量中?显示错误

javascript - 创建多选复选框

javascript - 无法解决 react-hot-loader/patch

javascript - AngularJS:“隔离范围”还是“隔离范围”?

javascript - 在jQuery mobile项目中下载文件