Typescript参数不正确

Typescript参数不正确,typescript,Typescript,我正在尝试将此TypeScript数组传递给函数。我尝试了许多参数类型来进行编译,但它们似乎都不起作用。以下是阵列: var driverTally = [ { driver: 'driver1', numEscorts: 0}, { driver: 'driver2', numEscorts: 0}, { driver: 'driver3', numEscorts: 0}

我正在尝试将此TypeScript数组传递给函数。我尝试了许多参数类型来进行编译,但它们似乎都不起作用。以下是阵列:

var driverTally = [
                    { driver: 'driver1', numEscorts: 0},
                    { driver: 'driver2', numEscorts: 0},
                    { driver: 'driver3', numEscorts: 0} 
                ];

doStuff(driverTally : Array<[string,number]>){ ... }
var drivertaly=[
{驱动程序:'driver1',numEscorts:0},
{驱动程序:'driver2',numEscorts:0},
{驱动程序:'driver3',numEscorts:0}
];
doStuff(drivertaly:Array){…}

编译器一直说:“类型为“{driver:string;numEscorts:number;}[]”的参数不能分配给类型为“[string,number][]”的参数。

如果您不确定类型,则可以使用any

doStuff(driverTally : any){ ... }
或者创建以下类型的类

export class Driver {
   public string driver;
   public int numEscorts;
}
然后将数组声明为

driverstally : Driver[] = [
                    { driver: 'driver1', numEscorts: 0},
                    { driver: 'driver2', numEscorts: 0},
                    { driver: 'driver3', numEscorts: 0} 
                ];
然后作为

doStuff(driverTally :Driver[] ){ ... }

我建议您确定接口:

interface IDriver {
    drive: string;
    numEscorts: number;
}
然后通过初始化声明数组:

public drivers: IDriver[] = [];
可以将此数组作为函数参数传递后:

doStuff(driverTally: IDriver[] ){ ... }

我做了一个驱动程序类。我想我应该马上去做,但它让我感到不安,因为我不能为函数获得正确的类型。谢谢。