2017-08-21 3 views
0

typescriptでユーザー作成条件を評価することに関して質問があります。 私の場合:UIとコードがあります(私のモデル)。 私の例のデータオブジェクトは、次のようになります。typecriptでユーザー作成条件を評価する方法

let data = [ 
    { 
     id: 0, 
     type: vw 
     eos, 
     costs: 23000 
    }, 
    { 
     id: 1, 
     type: ford 
     van, 
     costs: 14000 
    }, 
    { 
     id: 2, 
     type: nissan 
     sumara, 
     costs: 15000 
    }, 
    { 
     id: 3, 
     type: honda 
     civic, 
     costs: 17500 
    } 
] 

まあ、UIに、ユーザは、彼が、たとえば、イムに赤ですべての車を与えるために要求を行う必要があり、入力テキストフィールドを得ました。ユーザー入力は次のようになります。 "costs < = 15000"、この文字列を条件として使用して、ids:1,2の後に結果として戻ってください。私は、任意の提案のために?:

data.forEach(object => { 
    if(usercondition) //an idea how to solve this? 
    { 
     this.result.push(object); 
    }}); 

おかげのように、条件として、ユーザーからのrequeststringを使用する方法

誰でもアイデア!

+0

何か試しましたか? – Chris

+0

なぜforeachですか?なぜ[フィルタ](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)を使用しないのですか? – k0pernikus

答えて

0

基本コードは次のようになります。しかし注意してください:ユーザーがテキストボックスに入力できる内容を制限することはできないので、ユーザーからの入力を取るのではなく、フィルターを使用してください。私は複雑な条件のためにこれをどのように達成するのかはわかりません。

userconditionは、条件は、cost < 15000とします。この値は、テキスト入力によって設定されます。

addItem(usercondition: any) { 

this.data.forEach(obj => 
{ 
    var strcondition = 'obj.' + usercondition; 
    // console.log(strcondition) will print obj.cost < 15000 

    if (eval(strcondition)) // evaluate the expression and check the condition 
    { 
     this.result.push(object); 
    } 
    }); 
} 
関連する問題