gpt4 book ai didi

javascript - 使用扩展运算符更新对象值

转载 作者:可可西里 更新时间:2023-11-01 01:39:23 25 4
gpt4 key购买 nike

我有一个向传入对象添加键的函数,但有人告诉我为此使用扩展运算符,有人告诉我可以使用扩展运算符创建一个具有相同属性的新对象,然后对其设置 isAvailable。

  return new Partner(ServerConfig, capabilities, initialState)
}

class Partner {
constructor (ServerConfig, capabilities, initialState) {
initialState.isAvailable = true

所以我尝试了类似的方法但没有成功,你能帮帮我吗?很困惑,我应该以这种方式使用扩展运算符,从函数返回吗?

newObject = {}

// use this inside a function and get value from return

return {
value: {
...newObject,
...initialState
}
}

initialState.isAvailable = true

最佳答案

属性是按顺序添加的,所以如果你想覆盖已有的属性,你需要把它们放在最后而不是开头:

return {
value: {
...initialState,
...newObject
}
}

虽然您不需要 newObject(除非您已经拥有它):

return {
value: {
...initialState,
isAvailable: newValue
}
}

例子:

const o1 = {a: "original a", b: "original b"};
// Doesn't work:
const o2 = {a: "updated a", ...o1};
console.log(o2);
// Works:
const o3 = {...o1, a: "updated a"};
console.log(o3);

关于javascript - 使用扩展运算符更新对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49491393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com