假设我们有三个不同的类别,买入卖出
我们希望能够将“stock”对象数组传递给一个函数,其中对象具有属性,例如
var stocks = [
{ticker: BACON, industry: food , isTech: true, isGreen: false, isIntl = true, is52weekHigh: true},
{ticker: PEE, industry: plumbing, isTech: true, isGreen: true, isIntl = true, is52weekHigh: false},
{ticker: BEER, industry: beverage, isTech: true, isGreen: true, isIntl = true, is52weekHigh: true},
该函数应该应用用户设置的规则,将每个股票分类为三个类别中的一个,即买入卖出。
规则很简单:这个或那个,这个或那个,但不是那个。
E.g。 购买: 条件1:(isTech = true且isIntl = true且自动收报机不等于PEE) 要么 标准2 :(工业=饮料或工业=食品)
不确定如何接近它!任何帮助表示赞赏。
答案 0 :(得分:0)
如果要从受限制的UI构建逻辑,那么使用eval应该是安全的。
我在Firefox的Scratchpad中运行了以下内容。
注意: - 在每个对象中使用字符串而不是变量用于BACON,食物等,需要替换= with:afterIntl之后
var stocks = [
{ticker: 'BACON', industry: 'food' , isTech: true, isGreen: false, isIntl : true, is52weekHigh: true},
{ticker: 'PEE', industry: 'plumbing', isTech: true, isGreen: true, isIntl :true, is52weekHigh: false},
{ticker: 'BEER', industry: 'beverage', isTech: true, isGreen: true, isIntl : true, is52weekHigh: true}
]
for(var i=0;i<stocks.length;i++) {
stock=stocks[i];
console.log(eval((stock['isTech'] && stock['isIntl'] && stock['ticker'] != 'PEE') || (stock['industry']=='beverage' || stock['industry']=='food')));
}