[英]How can i add a property to an inner Object in Typescript with spread operator?
我有关注 Object
let car = { year: 2004, type: {name: "BMW"} }
现在我想向内部 object“类型”添加一个属性。 我想使用扩展运算符,因为我需要一个新的 object,因为现有的是不可变的 state object。 结果应该是:
{ year: 2004, type: {name: "BMW", modell: "3er"}}
我怎样才能做到这一点?
const car = { year: 2004, type: {name: "BMW"} };
const modifiedCar = {...car, type: {...car.type, modell: "3er"}};
尝试这个 :
(不是一成不变的)
let car = { year: 2004, type: {name: "BMW"} } // changed Object.assign(car.type, {modell: "3er"}); console.log(car)
(不变)
let car = { year: 2004, type: {name: "BMW"} } // still the same const result = Object.assign({}, car, {type:{...car.type, modell: "3er"}}); console.log(result)
我想向这个 object 添加另一个变量,如您所见,它嵌套得很深。
const functionParams = {
handler,
runtime,
environment: {
variables: {
restrictedActions: config.restrictedActions
}
}
}
我是这样实现的:
const newFunctionParams = {...functionParams, environment: {
...functionParams.environment, variables: {
...functionParams.environment.variables,
APIAllowEndpoint: `https://severless....`,
APIDenyEndpoint: `https://severless....`,
TOPIC: topicArn
}
}}
结果:
{
handler,
runtime,
environment: {
variables: {
restrictedActions: config.restrictedActions,
APIAllowEndpoint: `https://severless....`,
APIDenyEndpoint: `https://severless....`,
TOPIC: topicArn
}
}
}
感谢@chelmertz
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.