1. ホーム
  2. typescript

[解決済み] 動的なキーを持つオブジェクトのインターフェイスを定義するには?

2022-05-16 13:19:01

質問

アンダースコアで作成された以下のようなオブジェクトがあります。 _.groupBy() メソッドで生成されます。

myObject = {
  "key" : [{Object},{Object2},{Object3}],
  "key2" : [{Object4},{Object5},{Object6}],
  ...
}

TypeScriptでどのようにInterfaceとして定義するのでしょうか? 単純に myObject:Object = { ... と定義するのではなく、独自の型が必要です。

どのように解決するのですか?

の辞書のようなオブジェクトです。 Object 配列のようなものです。

interface Dic {
    [key: string]: Object[]
}

タイプスクリプトの文献では、このパターンを「インデックス可能なオブジェクトの記述」(quot; the description of an indexable object")と呼ぶことが多く、一般的な形式は以下の通りです。

interface Dic {
    [key: string|number]: object_type
}

または

type Dic = {
    [key: string|number]: object_type
}