我创建了getResult函数来根据公式进行计算。有什么方法可以执行此计算 如果您有任何解决方案,请告诉我。
预先感谢
let formula = "a*b";
let parameters = {a:3,b:4}
let getResult = function(formula, parameters){
}
答案 0 :(得分:1)
一个不依赖eval
的简单计算器:
let formula = "a*b";
let parameters = {a:3,b:4}
function getResult(formula, parameters){
const operator = formula.match(/[+-\/*]{1}/)[0];
const {a, b} = parameters;
switch(operator) {
case '+': return a + b;
case '-': return a - b;
case '*': return a * b;
case '/': return a / b;
}
}
const result = getResult(formula, parameters);
console.log(result);
答案 1 :(得分:0)
尝试一下。尽管“ eval”是可以避免的。
let formula = "a*b";
let parameters = {a:3,b:4}
let getResult = function(formula, parameters){
let cal = [...formula].map(d => parameters[d] || d).join('')
return eval(cal)
}
console.log(getResult(formula, parameters))