Typescript参数不正确
我正在尝试将此TypeScript数组传递给函数。我尝试了许多参数类型来进行编译,但它们似乎都不起作用。以下是阵列:Typescript参数不正确,typescript,Typescript,我正在尝试将此TypeScript数组传递给函数。我尝试了许多参数类型来进行编译,但它们似乎都不起作用。以下是阵列: var driverTally = [ { driver: 'driver1', numEscorts: 0}, { driver: 'driver2', numEscorts: 0}, { driver: 'driver3', numEscorts: 0}
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[] ){ ... }
我做了一个驱动程序类。我想我应该马上去做,但它让我感到不安,因为我不能为函数获得正确的类型。谢谢。