所以我之前使用过Object.assign()
,并取得了一些成功。但是,我现在确实遇到了问题。我有一个对象:
let stats = {
rounds: 0,
userHits: 0,
userDmgDelt: 0,
userDmgTaken: 0,
userCrits: 0,
userMiss: 0,
userDodge: 0,
mobHits: 0,
mobDmgDelt: 0,
mobDmgTaken: 0,
mobCrits: 0,
mobMiss: 0,
mobDodge: 0,
};
然后我尝试这样做:
stats = Object.assign(stats, {
userMiss: userMiss++,
});
我认为在函数内部使用对象会从它的旧值(即 0)定义它。我想避免必须使用长 block
stats.Stat += 1
什么不是。
最佳答案
你应该使用++stats.userMiss
来更新userMiss
值
let stats = {
rounds: 0,
userHits: 0,
userDmgDelt: 0,
userDmgTaken: 0,
userCrits: 0,
userMiss: 0,
userDodge: 0,
mobHits: 0,
mobDmgDelt: 0,
mobDmgTaken: 0,
mobCrits: 0,
mobMiss: 0,
mobDodge: 0,
};
stats = Object.assign(stats, {
userMiss: ++stats.userMiss
});
console.log(stats)
关于javascript - 对象分配产生 undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51257677/