2016-08-31 9 views
6

Mam obiekt podobny do tego, który jest tworzony za pomocą metody podkreślenia _.groupBy().Interfejs dla dynamicznego klucza w maszynie maszynowej

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

Jak zdefiniować to jako interfejs z TypeScript? Nie chcę po prostu zdefiniować go jako myObject:Object = { ..., ale raczej mieć dla niego swój własny typ.

+0

Czy różne 'ObjectX' mają typ lub są po prostu" dowolne "? –

+0

Możliwy duplikat [Jak działa składnia zmiennej hashowej w maszynopisie?] (Http://stackoverflow.com/questions/21070401/how-does-the-hash-variable-syntax-work-in-typescript) –

Odpowiedz

24

Twój obiekt wygląda słownika Object tablic

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

tam teraz dedykowany Record typu w maszynopisie:

const myObject: Record<string, object[]> = { ... } 

także rozważyć wpisywanie kluczy w miarę możliwości:

type MyKey = 'key1' | 'key2' | ... 

const myObject: Record<MyKey, object[]> = { ... } 
Powiązane problemy