如何在对象的TypeScript中使用Spread运算符进行组合
我需要使用Spread操作符向对象添加值。但是当我使用它时,以前的值会从对象中删除 我的目标是如何在对象的TypeScript中使用Spread运算符进行组合,typescript,spread,Typescript,Spread,我需要使用Spread操作符向对象添加值。但是当我使用它时,以前的值会从对象中删除 我的目标是 let newObj = { name: 'sachin', lastname: 'Tendulkar', full_name: 'Sachin Ramesh Tendulkar', test: { test_debut: '15 November 1989 v Pakistan' }, odi: { odi_debut: '18 December 1989 v Pakistan' }, t2
let newObj = {
name: 'sachin',
lastname: 'Tendulkar',
full_name: 'Sachin Ramesh Tendulkar',
test: {
test_debut: '15 November 1989 v Pakistan'
},
odi: {
odi_debut: '18 December 1989 v Pakistan'
},
t20: {
t20_debut: '1 December 2006 v South Africa'
}
}
对于这个对象,我需要添加更多的值
{
name: 'sachin',
lastname: 'Tendulkar',
full_name: 'Sachin Ramesh Tendulkar',
Born: '24 April 1973',
test: {
debut: '15 November 1989 v Pakistan',
last_match: '14 November 2013 v West Indies',
cap: 187
},
odi: {
debut: '18 December 1989 v Pakistan',
last_match: '18 March 2012 v Pakistan',
cap: 74
},
t20: {
debut: '1 December 2006 v South Africa',
last_match: '1 December 2006 v South Africa',
cap: 11
}
}
所以我加了一句
const newValues = {
Born: '24 April 1973',
test: {
last_match: '14 November 2013 v West Indies',
cap: 187
},
odi: {
last_match: '18 March 2012 v Pakistan',
cap: 74
},
t20: {
last_match: '1 December 2006 v South Africa',
cap: 11
}
}
当我使用
newObj = {...newObj , ...newValues };
我没有得到应有的答复
{
name: 'sachin',
lastname: 'Tendulkar',
full_name: 'Sachin Ramesh Tendulkar',
Born: '24 April 1973',
test: {
last_match: '14 November 2013 v West Indies',
cap: 187
},
odi: {
last_match: '18 March 2012 v Pakistan',
cap: 74
},
t20: {
last_match: '1 December 2006 v South Africa',
cap: 11
}
}
如何在typeScript中修复此问题?您需要分别选择“对象”属性和“其他对象”属性
const obj[key] = [...newObj[key], ...newValues[key]]
到目前为止,它只是用新的属性覆盖你的属性,因为它不会比较它覆盖的键