我有以下Javascript代码:
var container = {
first: {
a: 1,
b: 'someString'
},
second: Object.assign({
c: 34,
d: 'something else'
},
this.first
)
}
console.log(container)
打印:
{ first: { a: 1, b: 'someString' },
second: { c: 34, d: 'something else' } }
但是,我希望它是:
{ first: { a: 1, b: 'someString' },
second: { c: 34, d: 'something else', a: 1, b: 'someString'} }
所以我希望first
中的所有(键,值)对也出现在second
中。怎么办?
答案 0 :(得分:1)
你不能在它存在之前引用它,这就是你想要做的事情。但你可以这样做:
0x1000000....0000
答案 1 :(得分:1)
<强>问题:强>
事实上,您正在使用second
分配undefined
的内容,因为当您尝试引用first
属性时,在分配时,它不会#39; t尚未存在于您的container
对象中。
<强>解决方案:强>
您需要在分配之前将first
属性的内容存储在object
中,或者仅使用container
属性创建first
对象,然后定义{{1获取container.second
值与first
值相结合的属性。
这就是你的代码:
second
&#13;
答案 2 :(得分:0)
你可能正在寻找这个。
var a = new function(){
this.b = {name:"Vignesh",place:"India"};
this.c = {name:"Vijay",place:"TamilNadu",b:this.b};
this.d = {name:"Vijay Sethupathi",place:"Namakkal",c:this.c};
}();
console.log(a);
答案 3 :(得分:0)
var container = {
first: {
a: 1,
b: 'someString'
}
}
container.second = Object.assign(
{
c: 34,
d: 'Something else'
},
container.first
)