我正在为客户端库创建一个TypScript Declaration文件,其中的方法返回一个具有变量字符串键的对象(记录ID):
getRecords(...): {
[string]: { // ??
first: string,
last: string,
...
}
};
指定键值仅在运行时是否已知的正确方法是什么,以及对此的引用是什么?
getRecords
返回类似的内容:
{
'GuT9b...pX': {
first: 'John',
last: 'Doe',
...
},
'aMe4T...lk': {
first: 'Jane',
last: 'Doe',
....
}
}
(请注意,这是用PHP编写的HTTP API的包装器,因此我无法控制结果是关联数组(即JavaScript哈希),而不是具有.id
字段的数组在每个元素中。)
答案 0 :(得分:1)
它被称为indexable type:
function getRecords(key: string): { [s: string]: { first: string /*, ...*/ } } {
return { [key]: { first: 'John' } }
}