Создать тип со значениями определенного свойства из объектов в массиве?

#typescript

#typescript

Вопрос:

У меня есть объекты в массиве. Все объекты имеют свойство code .

 export const languageCodeToLanguageOption = [
    { code: 'cs', displayOrder: 1, text: 'Česky' },
    { code: 'zhhans', displayOrder: 2, text: '简体中文' },
];
 

Как я могу создать тип со всеми code значениями без необходимости повторять их, как я делаю ниже?

 export type LanguageCode = 'cs' | 'zhhans';
 

Ответ №1:

Я понял это

 export const languageCodeToLanguageOption = [
    { value: 'cs', displayOrder: 1, text: 'Česky' },
    { value: 'zhhans', displayOrder: 2, text: '简体中文' },
] as const;

export type LanguageCode = typeof languageCodeToLanguageOption[number]['value'];