更新动态对象

时间:2018-02-20 22:07:04

标签: javascript

我有一个对象:

{ 
    ...,
    values: {},
    ...
}

values默认为空。

现在我想为这个对象添加动态对象:

[myDynamicProperty]: {
     title: '...',
     introduction: '...'
}

没关系,我知道怎么做。但是,在其他操作上,我必须将key: valuekey: object添加到[myDynamicProperty],当我尝试某些内容时,我会放弃[myDynamicProperty]

的值

我试图克隆我的初始对象,但它不起作用。

当然,stackoverflow上的某个人有解决方案。

2 个答案:

答案 0 :(得分:1)

您可以通过将默认对象分配给myDynamicProperty然后将值分配给它来采取两步方法。

这会保留object.values[myDynamicProperty]的所有属性并仅更改给定的键。

var object = {
        values: {},
    }

object.values[myDynamicProperty] = object.values[myDynamicProperty] || {};
Object.assign(object.values[myDynamicProperty], { title: '...', introduction: '...' });

答案 1 :(得分:0)

如果你想传达的是你开始使用的对象如下:

var user = {
  meta: {
    first_name: "John",
    last_name: "Smith"
  }
}

并希望将middle_name添加到meta对象属性,然后您应该执行以下操作。

Object.assign(user['meta'], {middle_name: "Harry"});

请注意,第一个对象将被后一个对象的值覆盖。后面的对象属性将优先于先前的对象属性。有关详细信息,请参阅Mozilla警告:这是ES6功能,必要时使用polyfill向后兼容。