gpt4 book ai didi

javascript - 为什么 Object.assign 没有替换我的新对象中的键?

转载 作者:行者123 更新时间:2023-11-28 12:13:35 27 4
gpt4 key购买 nike

函数handleSave

@bind
private handleSave() {
const { coin, balance } = this.state;
console.log('coin', coin);
console.log('balance', balance);

const updatedCoin = Object.assign({
...coin,
position: balance
}, coin);

console.log('updatedCoin', updatedCoin);
this.props.updateCoinPortfolio(updatedCoin);
this.props.toggle(false);
}

在第一个 console.log coin 是以下对象:

{
availableSupply: "17572412",
currency: "BTC",
exchange: "",
exchange_base: "",
marketCap: 67651096742.34,
name: "Bitcoin",
percentage: 100,
position: 1,
price: "3849.84695",
value: 3849.84695
}

并且余额= 2

在此日志中接下来:console.log('updatedCoin', UpdatedCoin); 我希望硬币的位置现在是 2 而不是 1。但它仍然是1

a

Object.assign 部分:

const updatedCoin = Object.assign({
...coin,
position: balance
}, coin);

最佳答案

你混淆了隐喻。您或者想要分配:

const updatedCoin = Object.assign({}, coin, {position: balance});

属性(property)传播:

const updatedCoin = {
...coin,
position: balance
};

您的分配代码不起作用,因为您将硬币放在您更新的对象之后,因此位置coin覆盖。 (使用分配 - 并传播 - 最后一个获胜。)

关于javascript - 为什么 Object.assign 没有替换我的新对象中的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55010049/

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