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 - 如何对对象数组进行排序

javascript - 劫持 DOM 操作

Javascript对象,访问相关键

javascript - 屏幕阅读器的闪烁文本

javascript - 检查是否允许地理定位并获取 Lat Lon

javascript - 将工具提示 (div) 与文本 (span) 对齐。可能的?

javascript - 使用 Angular 6 动态创建可点击的 div

javascript - location = "file.exe",下载时显示下载大小?

javascript - 按钮点击问题

javascript - 如何将一个方法的返回值分配给 Javascript 中的另一个对象属性?