我是JS的新手,我正在尝试对JS对象进行基本操作。
我有以下对象:
var originalObj = {
id: 1,
name: 'originalObj'
}
现在,我想将另一个对象作为字段添加到originalObj
。
var newObj = {
newId: 2,
name: 'newObj'
}
所以预期结果是:
orginalObj = {
id: 1,
name: 'originalObj',
newObj: {
newId: 2,
name: 'newObj'
}
}
到目前为止我尝试过的事情:
originalObj.newObj = newObj
和originalObj['newObj'] = newObj
结果是:
orginalObj = {
id: 1,
name: 'originalObj',
newObj:
}
Object.assign(originalObj, newObj)
这样会将newObj
的所有字段添加到与originalObj
相同的级别上。如下所示:
originalObj = { 编号:1 名称:“ originalObj”, newId:2 名称:“ newObj” }
答案 0 :(得分:1)
取决于您是否想要深拷贝或仅参考。
originalObj.newObj = newObj;
将为newObj分配一个引用,其中as
originalObj.newObj = Object.assign({}, newObj);
将创建一个新的
注意:如果您使用的是ECMAScript 2015(第6版,ECMA-262),则可以使用扩展运算符...
originalObj.newObj = {...newObj};
答案 1 :(得分:0)
maxAllowedContentLength
这里发生的事情是您通过简写方法将originalObj的值与newObj的值一起传播到一个空对象中
参考:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer
答案 2 :(得分:0)