在映射类型中使用keyof以返回typescript中的值数组
在typescript中,我可以创建一个类型安全的对象键数组,如下所示:在映射类型中使用keyof以返回typescript中的值数组,typescript,Typescript,在typescript中,我可以创建一个类型安全的对象键数组,如下所示: 导出类型Keys=[keyof T][]; 导出常量keys=(o:T):keys=>Object.keys(o); 常数k=键(a); 但我如何为这些值创建类似的类型: 导出类型值=[T][keyof T]; //类型“keyof T”不能用于索引类型“[T]”。 您需要索引到T,而不是[T]: type Values<T> = T[keyof T][]; // or Array<T[keyof T]
导出类型Keys=[keyof T][];
导出常量keys=(o:T):keys=>Object.keys(o);
常数k=键(a);
但我如何为这些值创建类似的类型:
导出类型值=[T][keyof T];
//类型“keyof T”不能用于索引类型“[T]”。
您需要索引到T
,而不是[T]
:
type Values<T> = T[keyof T][]; // or Array<T[keyof T]>
type Foo = { a: number, b: string };
type FooValues = Values<Foo>; // (string | number)[]
type Values=T[keyof T][];//或数组
类型Foo={a:number,b:string};
键入FooValues=Values;//(字符串|编号)[]
[T]
是具有单个T
元素的元组,因此您最初的尝试是尝试使用T
的键“索引到”元组-因此出现错误。我想您正在查找数组
?