Typescript通用接口函数

Typescript通用接口函数,typescript,generics,interface,Typescript,Generics,Interface,我的通用接口函数有点问题。我想我在同一点上看得太久了。。。有人能告诉我我做错了什么吗 接口: export interface Compareable<T> { equals(compareable:T):boolean; } 导出接口可比较 { 等于(可比较:T):布尔值; } 功能: function isInCompareableArray<T>(compareable:Compareable<T>, arr:Array<Compare

我的通用接口函数有点问题。我想我在同一点上看得太久了。。。有人能告诉我我做错了什么吗

接口:

export interface Compareable<T>
{
    equals(compareable:T):boolean;
}
导出接口可比较
{
等于(可比较:T):布尔值;
}
功能:

function isInCompareableArray<T>(compareable:Compareable<T>, arr:Array<Compareable<T>>) : boolean
{
  for(let i of arr)
  {
    if (compareable.equals(i)) return true;
  }

  return false;
}
export function isInCompareableArray<T>(compareable:Compareable<T>, arr:Array<T>) : boolean ...
函数IsIncomparableArray(可比较:可比较,arr:Array):布尔值
{
对于(让我考虑arr)
{
if(comparable.equals(i))返回true;
}
返回false;
}
电话:

让dateRef:dateRef//dateRef实现可比较
设arr:Array
ISINComparableArray(日期参考,arr);
错误:

ERROR in function ... if (compareable.equals(i)) return true; 
...: Argument of type 'Compareable<T>' is not assignable to parameter of type 'T'.
函数中出现错误。。。if(comparable.equals(i))返回true; …:类型为“Comparable”的参数不可分配给类型为“T”的参数。 我在这里迷路了。你能帮忙吗?

应该是:

function isInCompareableArray<T>(compareable: Compareable<T>, arr: Array<T>): boolean {
    for (let i of arr) {
        if (compareable.equals(i)) return true;
    }

    return false;
}
函数IsIncomparableArray(可比较:可比较,arr:Array):布尔值{
对于(让我考虑arr){
if(comparable.equals(i))返回true;
}
返回false;
}
其中数组的类型为
array
(或简称为
T[]
),而不是
array

噢,天哪。。。真丢脸:)我把望远镜丢了

这项工作:

功能:

function isInCompareableArray<T>(compareable:Compareable<T>, arr:Array<Compareable<T>>) : boolean
{
  for(let i of arr)
  {
    if (compareable.equals(i)) return true;
  }

  return false;
}
export function isInCompareableArray<T>(compareable:Compareable<T>, arr:Array<T>) : boolean ...
导出函数为比较数组(可比较:可比较,arr:Array):布尔值。。。

:D谢谢!只是我自己看到的。。。我想我需要休息一下^^