我创建了:
type NumberFields<T, K extends keyof T> = T[K] extends number ? K : never;
type AnsFields<T> = SomeOtherList & NumberFields<T, keyof T>;
SomeOtherList是预定义的字段名称,例如'foo' | 'bar'
。
类型定义可以正常工作,但我只需要AnsFields<T>
。我可以内联NumberFields
到AnsFields
的定义吗?我找不到方法。
答案 0 :(得分:1)
是的,您可以内联NumberFields
,但是我发现这不太可读:
type AnsFields<T> = SomeOtherList &
{ [K in keyof T]: T[K] extends number ? K : never }[keyof T];
基本上,我们是通过键来内联查找