gpt4 book ai didi

javascript - 在 JavaScript 中将一个枚举转换为另一个枚举

转载 作者:行者123 更新时间:2023-11-30 14:06:50 36 4
gpt4 key购买 nike

编辑

如评论所示,Enum 不是 JavaScript 的一部分,而是 TypeScript 的一部分。我故意留下了原来的标题,因为像我这样的人可能会犯错误。


我有两个具有相同键但不同值的枚举。

enum RowStates {
editing = 0,
sentToApproval,
approved
// ...
}

enum RowColors {
editing = '#ffffff',
sentToApproval = '#ffffcc',
approved = '#ccffb3'
// ...
}

我有一些函数可以做转换:

function Convert (rowState) {
// What should be here to return rowColor?
// Using switch (rowState) is obvious, but may be other solution exist?
}

最佳答案

TypeScript 枚举允许您执行 reverse mapping :

enum RowStates {
editing = 0,
sentToApproval,
approved
}

enum RowColors {
editing = '#ffffff',
sentToApproval = '#ffffcc',
approved = '#ccffb3'
}

function convert(rowState: RowStates) {
return RowColors[RowStates[rowState] as keyof typeof RowColors];
}

console.log(convert(RowStates.sentToApproval)); // prints '#ffffcc'

关于javascript - 在 JavaScript 中将一个枚举转换为另一个枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55214527/

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