2017-12-11 29 views
0

次のコードがあります。Typescript配列マップ戻り値

array.map(val => { return { 
    key1: val.key1, 
    key2: val.key2 
}}); 

コードをこのようにする方法はありますか?

array.map(val => { 
    key1: val.key1, 
    key2: val.key2 
}); 

答えて

4

あなたは括弧に入れた場合、コンパイラはオブジェクトリテラルではありませんコードブロックとして扱います:

array.map(val => ({ 
    key1: val.key1, 
    key2: val.key2 
})); 

あなたがオブジェクトリテラルのためのインタフェースを持っている場合、型アサーションでも動作します:

interface IKeys { key1: string; key2: string } 
array.map(val => <IKeys>{ 
    key1: val.key1, 
    key2: val.key2 
}); 
+1

明らかに私はこれを受け入れるのに12分待たなければなりません。しかし、あなたの先生、それを得る... *遅い拍手* – screenmutt