2017-09-08 15 views
3

アプリケーションに問題があります。角度型(TypeScript言語)です。 "string4"などの文字列データフィールドをオブジェクトのNAMEと比較する必要があります。 例:文字列とデータフィールドの名前を比較するにはどうすればよいですか?

export class MyClass { 
    string1: string; 
    anyobject: Object; 
    string2: string; 
    // etc... 
} 

私は、次のような方法がある場合:私は私のMyClassの中のデータフィールドの名前とパラメータの一致内の値をしたい

myMethod(parameter: string) { 

} 

を。 たとえば、パラメータの値が「string2」で、MyClassのstring2値(別の文字列)を取得したいとします。

+0

スイッチケースを使用できませんか?または、MyClass変数をループして、その名前のインデックスを取得することもできます。 –

+0

JSチュートリアル(TypeScriptはJavaScriptの上にある入力レイヤーにすぎません)に戻って、オブジェクトに関する基本情報とそのプロパティへのアクセス方法を確認することをお勧めします。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessorsから始めることができます。 –

答えて

0

ドット表記なしでオブジェクトプロパティにアクセスできます。この

MyClassObject["value"]のようなたとえば、あなたのケースでは、working demoからMyClassObject[parameter]

リンクになります。

+0

ありがとう!しかし私には別の問題があります。 MyClassObject [パラメータ] は私に正しい値を与えますが、オブジェクトを変更することはできません! 私が試した場合: MyClassObject [parameter] = "newString"; この命令は、インスタンスデータフィールドを変更しません。 – claudioz

+0

@claudioz変更します。多分あなたは間違ったインスタンスを持っています。このステートメントは '.dot'表記の別の形式です。それは同じです –

+0

はい、私はMyClassObject [パラメータ]によって識別されるオブジェクトに新しい値を割り当てることはありません – claudioz

関連する問題