我试图用几个方法定义一个接口,我希望其中一个方法是泛型的.

这是一个filterUnique方法,所以它应该能够过滤数字、字符串等列表.

以下内容不适合我:

export interface IGenericServices {
    filterUnique(array: Array<T>): Array<T>;
}

有没有办法让这个编译,或者我在这里的某个地方犯了一个概念上的错误?

干杯!

推荐答案

T类型尚未定义.它需要作为类型变量添加到方法中,如:

filterUnique<T>(array: Array<T>): Array<T>;

或添加到界面中,如:

export interface IGenericServices<T> {
    filterUnique(array: Array<T>): Array<T>;
}

Typescript相关问答推荐

具有实体的ngrx SignalStore中的动态类型

如何在TypScript中使参数类型化但可选

在TypScript中的同一数组中验证不同类型

PrimeNG Inputnumber,具有自定义号码格式器

APP_INITIALIZER—TypeError:appInits不是函数

Angular 行为:属性类型从SignalFunction更改为布尔

如何在TypeScrip面向对象程序设计中用方法/属性有条件地扩展类

对扩展某种类型的属性子集进行操作的函数

对于合并对象中的可选属性(例如选项),类型推断可能是错误的

打字类型保护递归判断

如何将CSV/TXT文件导入到服务中?

如何在处理数组时缩小几个派生类实例之间的类型范围?

Angular:ngx-echart 5.2.2与Angular 9集成错误:NG 8002:无法绑定到选项,因为它不是div的已知属性'

如何将TS泛型用于react-hook-form接口?

类型推断对React.ForwardRef()的引用参数无效

如何将通用接口的键正确设置为接口的键

如何在Reaction Native中关注屏幕时正确更新状态变量?

使用强制转换编写打字函数的惯用方法

Typescript泛型调用对象';s方法

覆盖高阶组件中的 prop 时的泛型推理