Как набрать в одной строке объект javascript в Typescript, если свойство root имеет имя переменной - PullRequest
1 голос
/ 10 января 2020

У меня есть следующий javascript объект:

var termsAndConditions = {
    pt: ["url1", "url2"],
    en: ["url3", "url4"]
}

И я хочу напечатать его в Typescript в одну строку. Примерно так:

const termsAndConditions: {[countryKey: Array<string>]} = {
    pt: ["url1", "url2"],
    en: ["url3", "url4"]
}

А затем используйте это так:

const ptUrls: Array<string> = termsAndConditions.pt;
const enUrls: Array<string> = termsAndConditions.en;

Как мне сделать sh это?

Ответы [ 2 ]

3 голосов
/ 10 января 2020

Вы можете сделать это:

const termsAndConditions: { [countryKey: string]: string[] } = {
    pt: ["url1", "url2"],
    en: ["url3", "url4"]
}

Позже вам не нужно добавлять дополнительный набор текста, так как он уже указан

Например.

const ptUrls = termsAndCondition.pt
0 голосов
/ 14 января 2020
type TermAndConditions = Record<'en' | 'pt', string[]>

, если типы имеют одинаковую форму значения, вы можете использовать Запись , используя тип объединения в качестве ключа для Записи, которая будет соответствовать вашей ситуации

...