如何在TypeScript中为这样的数组定义类型:
export const AlternativeSpatialReferences: Array< ??? > = [
{
'25833': 25833
},
{
'25832': 25832
},
{
'25831': 25831
},
{
'Google': 4326
}
];
现在我只使用Array <{}>,但想要正确定义。
如果要定义一个在编译时不知道属性名称的对象以及哪些值是数字,则应使用“索引签名”(Thanks @Joe Clay):
interface MyObject {
[propName: string]: number;
}
然后你可以写:
export const AlternativeSpatialReferences: MyObject[] = [
{
'25833': 25833
},
{
'25832': 25832
},
{
'25831': 25831
},
{
'Google': 4326
}
];
在打字稿中你使用any
类型,
任何用于 - 需要描述我们在编写应用程序时不知道的变量类型。
Array<any>
如果你想要一个强大的类型,你应该创建具有两个属性的新类
public class KeyValue
{
key:string;
value:number;
}
let myarray: KeyValue[] = new Array<KeyValue>();
myarray.push({key: '25833' , value : 25833});
myarray.push({key: 'Google' , value : 123});
并以强类型转换您当前的数组值。