如何切换状态?

欧比瓦恩

我寻找一种简短易读的方式来切换状态。

例如性别状态:m -> f -> n

现在我使用

if (this.gender === "m") this.gender = "f";
    else if (this.gender === "f") this.gender = "n";
    else this.gender = "m";

要么

this.gender = this.gender === "m" ? "f" : this.gender === "f" ? "n" : "m";

两者都很可怕。我错过了什么吗?

本杰明·埃卡德

您可以使用映射表:

const mapping = {
    'm': 'f',
    'f': 'n',
    'n': 'm',
}

并使用它:

this.gender = mapping[this.gender];

// 编辑 我的另一个解决方案同时已由@VRoxa 提供。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章