我有这种类型:
type myCustomType = "aaa" | "bbb" | "ccc";
我需要将它转换成这样的数组:
["aaa", "bbb", "ccc"]
我怎样才能在打字稿中做到这一点?
原文由 Diemauerdk 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有这种类型:
type myCustomType = "aaa" | "bbb" | "ccc";
我需要将它转换成这样的数组:
["aaa", "bbb", "ccc"]
我怎样才能在打字稿中做到这一点?
原文由 Diemauerdk 发布,翻译遵循 CC BY-SA 4.0 许可协议
例如:
const themeMode = ['light', 'dark'] as const;
type MainTheme = typeof themeMode[number];
const values = [...themeMode];
// iterate on themeMode as const assertion
values.map((theme) => console.log(theme));
原文由 Mohammad Fallah 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
发出的代码中不存在类型 - 您不能从 类型 转到 _数组_。
但在某些情况下,你可以反过来。如果数组不是动态的(或者它的值可以在初始化时完全由类型检查器确定),则可以声明数组
as const
(这样数组的类型就是["aaa", "bbb", "ccc"]
而不是string[]
),然后通过从arr[number]
映射它的值来创建一个类型:这是 操场上的 一个例子。