Какой тип значения я должен объявить переменную объекта - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть простой объект, тип которого {[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]: [[]]}, но я не могу заставить его работать.

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

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

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

doc

0 голосов
/ 24 сентября 2018

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

"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
}
...