Как указать тип для массива, который состоит из строк являющихся свойствами объекта?

194
19 сентября 2019, 14:30

Подскажите, пожалуйста, можно ли как то в TypeScript указать тип для массива, таким образом, что бы описать, что он может состоять только из тех строк, которые являются свойствами определённого объекта?

Т.е. например если есть тип для объекта:

type T = {
   t:number,
   b:number
}

то массив может состоять только из строк: 't' и 'b'

Answer 1

Вы скорее всего ищите оператор keyof, он запрашивает набор ключей для определенного типа:

type T = {
  t: number;
  b: number;
}
const array: (keyof T)[] = ['t', 'b'];
READ ALSO
Canvas | Javascript игра

Canvas | Javascript игра

Управляешь самолетом и собираешь топлива, каждая собранная соплива увеличивает счетчик топлива до 10(единица топлива дает 1сек полета)Нужно...

176
Настройка HTML формы Яндекс Кассы. Копирование элементов формы в ключ JSON

Настройка HTML формы Яндекс Кассы. Копирование элементов формы в ключ JSON

Копирование данных из нескольких полей формы в значения ключа JSON

188
Протаскивания ползунка в webdriver.io

Протаскивания ползунка в webdriver.io

Случай такой: значение input задается путем перемещения кастомного ползунка, который может находиться где угодноЕсть ли способ протаскивания...

254
Сложная форма (массив в массиве)

Сложная форма (массив в массиве)

Есть форма (https://jsfiddlenet/7zfjs6pw/26/) в которой можно добавлять поля

158