ho un oggetto in cui tutte le chiavi sono stringhe, alcuni dei valori sono stringhe e il resto sono oggetti in questa forma:interfaccia tipografico per gli oggetti con alcuni noti e alcuni nomi di proprietà sconosciuti
var object = {
"fixedKey1": "something1",
"fixedKey2": "something2",
"unknownKey1": { 'param1': [1,2,3], 'param2': "some2", 'param3': 'some3'},
"unknownKey2": { 'param1': [1,2,3], 'param2': "some2", 'param3': 'some3'},
"unknownKey3": { 'param1': [1,2,3], 'param2': "some2", 'param3': 'some3'},
...
...
};
In questo oggetto fixedKey1
e fixedKey2
sono le chiavi conosciute che saranno presenti in quell'oggetto. unknownKey
- la coppia di valori può variare da 1-n.
ho cercato di definire l'interfaccia dell'oggetto come:
interface IfcObject {
[keys: string]: {
param1: number[];
param2: string;
param3: string;
}
}
Ma questo getta il seguente errore:
Variable of type number is not assignable of type object
Che ho scoperto che non è in grado di assegnare questa interfaccia per " fixedKey - value "pair.
Quindi, come posso eseguire il controllo di tipo di questo tipo di variabili?
Sì, sarà più preciso, ma scrivendo ancora il tipo ** qualsiasi ** non è una buona pratica. –
@yugantarkumar buona presa, non ho notato che le restanti chiavi hanno tutte preso oggetti dello stesso tipo, grazie per la modifica. – bersling
Grazie a @bersling, è stato facile per me prendere, come ho fatto solo questa domanda. :) –