У меня есть объект, где все ключи являются строками, некоторые из значений являются строкой, а остальные являются объектами в этой форме:
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'},
...
...
};
В этом объекте fixedKey1
и fixedKey2
находятся известные ключи, которые будут присутствовать в этом объекте. unknownKey
- пара значений может варьироваться от 1-n.
Я попытался определить интерфейс объекта как:
interface IfcObject {
[keys: string]: {
param1: number[];
param2: string;
param3: string;
}
}
Но это вызывает следующую ошибку:
Переменная номера типа не присваивается объекту типа
Что я узнал, что он не может назначить этот интерфейс паре "fixedKey - value".
Итак, как я могу выполнить проверку типов таких переменных?