gpt4 book ai didi

javascript - 如果键的值未定义,如何不以对象文字表示法设置键

转载 作者:行者123 更新时间:2023-12-03 04:21:52 24 4
gpt4 key购买 nike

我正在使用 Redux 创建一个 RPG Angular 色生成器。在我的 reducer 中,我希望能够修改齿轮并跟踪这些修改。修改可以有评级,但不一定必须有评级。

因此,如果评级未定义,我宁愿不记录它。那么,如果值未定义,有没有办法不在对象文字表示法中添加键?

gearName 将是要修改的齿轮的字符串。

mod 是一个对象,其中包含有关 mod 的属性,例如+评级防火或其他。

评级是一个数字,表示修改的值。

const purchaseGear = (state, action) => {
const { gearName, mod, rating } = action.parameter;

switch (action.type) {
case MOD_GEAR:
return {
...state,
[gearName]: {
...state[gearName],
mods: {
...state[gearName].mods,
[mod.name]: {
...mod,
rating
}
},
cost: mod.cost * (rating || 1)
}
}
}

最佳答案

Axel Rauschmayer on 2ality.com提出以下模式:

const cond = false;
const obj = {
...(cond ? {a: 1} : {}),
b: 2,
};
// {b: 2}

所以在你的情况下它会是这样的

...(rating !== undefined ? {rating: rating} : {})

请记住,此模式仅在引擎已支持 Object rest/spread-proposal 时才有效。 。它可以在 Chrome v58 中运行,但我尚未在其他平台上进行测试。

关于javascript - 如果键的值未定义,如何不以对象文字表示法设置键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43906214/

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