我有一个对象:
{
...,
values: {},
...
}
values
默认为空。
现在我想为这个对象添加动态对象:
[myDynamicProperty]: {
title: '...',
introduction: '...'
}
没关系,我知道怎么做。但是,在其他操作上,我必须将key: value
或key: object
添加到[myDynamicProperty]
,当我尝试某些内容时,我会放弃[myDynamicProperty]
我试图克隆我的初始对象,但它不起作用。
当然,stackoverflow上的某个人有解决方案。
答案 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向后兼容。