【发布时间】:2019-03-23 04:00:12
【问题描述】:
我使用 Object.assign 错了吗?
我认为它会替换这些值,但实际上它会覆盖它们......
例如'PEACH'属性在赋值后会被删除。
这不奇怪吗?你会如何解决这个问题?
让我们拯救桃子
var result = Object.assign({
'first_level': {
'second_level': {
'changeme': 'not changed bruh',
'PEACH': 'PLEASE SAVE ME!'
}
},
'hehe' : 'I will stay here'
}, {
'first_level': {
'second_level': {
'change': 'Changed B]',
'addme': 'Extra prop'
}
},
'huh' : 'I want to join the party'
});
document.body.innerHTML = '<pre>'+JSON.stringify(result, null, 2)+'</pre>';
【问题讨论】:
-
它只是非递归的。如果你想要一个递归赋值,你必须自己编写代码。
-
它采用第一级属性并将其替换为第二级的值。
-
为什么不在提问前先阅读the docs?
标签: javascript object variable-assignment