如何在打字稿中使用用户制作的条件进行评估



我有一个关于在打字稿中评估用户制作条件的问题。 就我而言:我有一个UI和一个隐藏的代码(我的模型(。 我的示例数据对象如下所示:

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中,用户得到了一个输入文本字段,例如,他应该在其中请求向im提供所有红色的汽车。用户输入如下所示: "成本 <=15000",现在这个字符串应该用作条件,以便我返回以下 ID 的结果:1,2。

任何人都知道我如何将用户的请求字符串用作条件,例如?

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

感谢您的任何建议!

基本代码如下所示。但需要注意的是:使用过滤器而不是从用户那里获取输入,因为您不可能限制用户可以在文本框中输入的内容。我不确定您将如何在复杂的条件下实现这一目标。

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);
}
});
}

最新更新