javascript - Hvordan definere en type i Typescript med et variabelt antall nøkler?
Jeg har følgende tilfelle som jeg ikke vet nøyaktig hvordan jeg skal uttrykke på TypeScript:
{
"things": {
"a": 11,
"b": 22,
.
.
.
}
}
Da vil jeg gjerne definere noe slik:
type Response<T> = { [_: string]: T }
Så typen ovenfor representerer ethvert svar med en nøkkel og en viss verdi av typen T, men jeg vil ha mange nøkler som angitt i json, "a" "b"... og jeg finner ikke typen for det.
Svar #1
Dette burde fungere:
interface Response<T> {
things: {
[key: string]: T;
};
}
Hvis du har visse taster fast som a, kan du gjøre:
interface Response<T, R> {
things: {
// fixed keys
a: R;
// some more fixed keys.
[key: string]: T;
};
}
