首页 > 解决方案 > 如何获取枚举值的索引?

问题描述

有一个枚举:

export enum MY_ENUM {
  numberOne = 'one',
  numberTwo = 'two',
}

还有一种方法来获取给定值的索引:

const x = values(MY_ENUM).indexOf('two');

使用 TypeScript 3.5.3 它可以工作,使用 4.0.3 它会抛出:

Type error: Argument of type 'string' is not assignable to parameter of type 'MY_ENUM'

如何解决?

标签: typescriptlodash

解决方案


你能从 那里得到钥匙enum吗?

例如

enum MY_ENUM {
  numberOne = 'one',
  numberTwo = 'two',
}
const position = Object.keys(MY_ENUM)
  .map((k) => MY_ENUM[k])
  .indexOf('one');

推荐阅读