Javascript 如何将数组转换为数学计算表达式?
我试图写一个计算数学表达式,并将每个符号存储到一个数组中 例如,我想转换数组:Javascript 如何将数组转换为数学计算表达式?,javascript,arrays,Javascript,Arrays,我试图写一个计算数学表达式,并将每个符号存储到一个数组中 例如,我想转换数组: let arr = ['10', '-', '(', '2', '+', '1', ')', '*', '3']; 对下面的表达: let result = 10 - (2 + 1) * 3; // 1 关于如何实现这一点有什么建议吗?它不会验证您的输入,但eval(arr.join(“”)会验证您的输入。 获取一个字符串并将其作为js表达式执行 它仅适用于eval 新功能不适用于此问题 const arr=
let arr = ['10', '-', '(', '2', '+', '1', ')', '*', '3'];
对下面的表达:
let result = 10 - (2 + 1) * 3; // 1
关于如何实现这一点有什么建议吗?它不会验证您的输入,但
eval(arr.join(“”)
会验证您的输入。获取一个字符串并将其作为js表达式执行 它仅适用于
eval
新功能
不适用于此问题
const arr=['10'、'-'、'('、'2'、'+'、'1'、')、'*'、'3'];
eval(arr.join(“”));//1
eval(arr.join(“”))
Mate我纠正了它。您尚未单击“新建已更改”链接。您也可以创建自己的计算器。我们在大学里这样做是为了练习堆栈(对于数组,是使用push
和pop
)。基本上,您一直将数字推送到一个数组,将运算符推送到另一个数组。当你发现有更高优先级的东西时,你就在适当的地方处理它。你这样做直到数组为空。是的,这就是我目前练习的:)我忘了我可以使用eval()来实现这个目标。非常感谢,没有问题,但请记住,只有当表达式有效时,这才有效。另外,在使用<代码> EVA/COD>之前,请考虑阅读。