У меня есть простой объект типа {[key]:[[array]], [key]:[[array]]}:

const types = {
  first: 'type1',
  second: 'type2',
}

const myobj = {
  '[types.first]': [
     ['blue', 'small', true, 200, 300, undefined, 150],
     ['blue', 'large', true, 560, 600, 300, 150],
  ],
  '[types.second]': [
    ['red', 'xlarge', true, 400, 400, 200, 1],
    ['red', 'xxlarge', true, 500, 500, undefined, 2]
  ]
}

Мне нужна помощь для объявления типа объекта, например: const myobj: 'type of the object' = {....}

Что-то вроде {[key: string]: [[]]}, но я не могу заставить его работать.

0
Theo Itzaris 24 Сен 2018 в 20:54

2 ответа

Лучший ответ

Значения ваших объектов на самом деле представляют собой массив типов кортежей, его можно ввести как:

 { [key: string]: Array<[string, string, boolean, number | undefined, number | undefined, number | undefined, number | undefined]> }

доктор

1
Jonas Wilms 24 Сен 2018 в 18:15

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

"market_actions": [{
"link":"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M%listingid%A%assetid%D2796249422649106588",
"name": "Inspect in Game..."
}]

Вот как выглядит тип следующего объекта

export interface IDescription {
market_actions: IDAction[]
}
export interface IDAction {
link: string
name: string
}
0
The King 24 Сен 2018 в 18:14