#typescript #dictionary #keyvaluepair
#typescript #словарь #пара значений ключей
Вопрос:
Я определил новый класс dictionary, но я не уверен, как определить Dictionary
атрибут. Существует файл json с именем Switches:
{«ShowImage»: true, «showText»: false, «showButton», true}
import * as switches from '../switches.json';
export class DictionaryClass{
Dictionary?: { [key: string]: boolean };
}
export function getDictionary() {
const dictionaryClass = new DictionaryClass();
dictionaryClass.Dictionary = { [key: string]: boolean };
for (let entry in switches) {
dictionaryClass.Dictionary[entry] = switches[entry];
}
return dictionaryClass;
}
В этом примере я не уверен, как создать экземпляр dictionary, и это один из способов, который я пробовал, но который не работает:
const dictionaryClass = new DictionaryClass();
dictionaryClass.Dictionary = { [key: string]: boolean };
Я также пытался сделать следующее, но это тоже не работает
const dictionaryClass = new DictionaryClass();
dictionaryClass.Dictionary = switches;
Может ли кто-нибудь указать мне, как правильно создать его экземпляр? Кроме того, вместо зацикливания словаря json, можно ли в любом случае добавить весь этот словарь json к этому dictionary
объекту?
Ответ №1:
Честно говоря, нет смысла использовать a class
здесь, поскольку ваш класс ничего не делает.
То, что вам нужно type
, — это то, что определяет форму словаря, который у вас есть здесь:
type BooleanDictionary = { [key: string]: boolean }
Все эти другие вещи совершенно не нужны, потому что ваш JSON уже подходит для этого типа сам по себе! В этом преимущество создания кода, который полагается на типы и интерфейсы, а не на конкретные классы.