【问题标题】:Javascript String to Enum [closed]Javascript字符串到枚举[关闭]
【发布时间】:2020-10-25 23:45:58
【问题描述】:

假设我有一个如下所示的枚举:

enum Role {
  Cleaner = 'CLEANER',
  Driver = 'DRIVER',
  Gardner = 'GARDNER'
}

在某些时候我的枚举变成了一个字符串:

CLEANER

如何从字符串值将其转回枚举呢?

Role.Cleaner

【问题讨论】:

  • enum Role 不是 JavaScript,所以不太清楚你在这里要求什么。

标签: javascript enums


【解决方案1】:

你可以用一个对象字面量来实现枚举,像这样......

const Roles = {
  Cleaner: 'CLEANER',
  Driver: 'DRIVER',
  Gardner: 'GARDNER'
}

您可以从这样的值中获取密钥...

const roleForValue = value => {
  return Object.keys(Roles).find(r => Roles[r] === value)
}

所以...

const Roles = {
  Cleaner: 'CLEANER',
  Driver: 'DRIVER',
  Gardner: 'GARDNER'
}

const roleForValue = value => {
  return Object.keys(Roles).find(r => Roles[r] === value)
}

let value = 'DRIVER'
let role = roleForValue(value)

console.log(role)
console.log(Roles[role])

【讨论】:

    猜你喜欢
    • 2017-09-07
    • 2011-05-16
    • 2011-11-02
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多