有没有办法循环遍历 TypeScript 字符串字面量的值?
type category = "foo" | "bar" | "baz" | "xyzzy"
for (c in category) {
// ... do something with each category
}
我目前有类似以下的东西:
let cat: category = ...
switch (cat) {
case "foo":
default:
process("foo")
break
case "bar":
process("bar")
break
case "baz":
process("baz")
break
case "xyzzy":
process("xyzzy")
break
}
但我更愿意使用类似的东西
let others: category = []
for (c in category) { // Iterate over possible category values
if (c !== "foo") others.push(c)
}
if (others.indexOf(cat) >= 0) {
process(cat)
} else {
process("foo")
}
let others: category = ["foo" , "bar" , "baz" , "xyzzy"]
- Heretic Monkey