相关疑难解决方法(0)

获取字符串文字类型值的数组

我需要获取字符串文字的所有可能值的完整列表.

type YesNo = "Yes" | "No";
let arrayOfYesNo : Array<string> = someMagicFunction(YesNo); //["Yes", "No"]
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个?

typescript

15
推荐指数
2
解决办法
7729
查看次数

TypeScript:从枚举类型中推断枚举值类型

我编写了一个函数,将给定枚举的所有值作为数组返回.实现工作,但我有一个返回值类型的问题.

enum Foo {
    FOO_1 = "FOO_1",
    FOO_2 = "FOO_2",
}

function getEnumValues<T>(e:T): T[] {
    let keys: string[] = Object.keys(e);
    keys = keys.filter(key => e[key] !== undefined);
    return keys.map(key => e[key]);
}

const fooValues:Foo[] = getEnumValues(Foo);
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误:(46,7)TS2322:类型'(typeof Foo)[]'不能分配给'Foo []'.类型'typeof Foo'不能分配给'Foo'类型.

如何更改签名getEnumValues()才能在Foo[]此处返回类型?

generics enums type-inference typescript

6
推荐指数
1
解决办法
947
查看次数

标签 统计

typescript ×2

enums ×1

generics ×1

type-inference ×1