Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在映射类型中使用keyof以返回typescript中的值数组_Typescript - Fatal编程技术网

在映射类型中使用keyof以返回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]

在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]>

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
的键“索引到”元组-因此出现错误。

我想您正在查找
数组