2016-12-14 92 views
0

由其他對象類型的一個目的我有一個對象,看起來像這樣:定義在流

const myObject = { 
    a: { 
    id: 'abc' 
    }, 
    b: { 
    id: 'def' 
    }, 
    c: { 
    id: 'ghi' 
    }, 
} 

的a,b,和c都具有相同的結構,所以我想以限定單一類型的對於那些(abcType below),並確保myObject由這些類型組成。

所以基本上:

type abcType = { 
    id: String 
} 

type myObjectType = { 
    [whateverKey]: abcType 
    // ^^ Dummy code, this doesn’t actually work 
} 

但是我似乎無法找到適當的方式在流程定義此。任何人遇到同樣的問題?

回答

1
type abcType = { 
    id: string // lower-case 's' 
} 

type myObjectType = { 
    [string]: abcType // 'string' type for the object keys. 
}; 

const myObject: myObjectType = { 
    a: { 
    id: 'abc' 
    }, 
    b: { 
    id: 'def' 
    }, 
    c: { 
    id: 'ghi' 
    }, 
} 

應該是你所需要的。

+0

太棒了,感謝您的幫助! – Mattijs