2016-12-15 3 views
3

forループを使用している間、私は反復処理中のオブジェクトがインタフェースで定義された型であっても、my letオブジェクトは文字列型を持ちます。(TypeScript2)インターフェイスタイプの配列をどのようにループしますか?

以下は私が使用しているコードです。文字列としてインターフェイスで定義されているにmapping.attributeにアクセスしようとすると、私はエラーを取得[プロパティ「属性は、」type「を文字列」に存在しません。]

私は、次のインターフェイスと機能があります。

interface IMapping { 
    attribute: string; 
    property: string; 
} 

mapAttributes(mappings: IMapping[], values) {    
    for (let mapping in mappings) { 
     if (mapping.hasOwnProperty("attribute")) { 
      console.log(this.attributes.find(attribute => attribute.name === mapping.attribute).value); 
     } 
    } 
} 

インターフェイスで定義されているプロパティを使用できるように、forループをどのように定義する必要がありますか?

答えて

8

私は

for (let mapping of mappings) { 

for (let mapping in mappings) { 

を交換するとき、あなたの例を実行することができた

関連する問題