我有一个这样的表达式:
expr {name1} + {name2} - ({name3}*{name4})
现在,我也得到了一个像这样的对象:13,b:11,c:5 我知道这是一个算术表达式。 现在我做如下:
for (var ff = 0; ff < fields.length; ff++) {
var name = cfg.fields[ff];
var re = new RegExp("{" + name + "}", "g");
expr = expr.replace(re, data[name]);
}
result = eval(expr);
fields是一个包含可能与{}内部匹配的数组 data [name]包含替换数据
现在,我发现eval比创建和替换正则表达式要少得多。
但我的表现仍然不佳。 任何人都可以帮助如何改善这一点并获得更好的运行时间吗?