【发布时间】:2023-03-08 05:13:01
【问题描述】:
我尝试编写一个计算数学表达式并将每个符号存储到一个数组中。
比如我要转换数组:
let arr = ['10', '-', '(', '2', '+', '1', ')', '*', '3'];
如下表达式:
let result = 10 - (2 + 1) * 3; // 1
关于如何实现这一点的任何建议?
【问题讨论】:
-
eval(arr.join(' ')) -
伙伴我更正了。您尚未点击新更改的链接。
-
您也可以创建自己的计算器。我们在大学里用它来练习堆栈(对于数组,它使用
push和pop)。几乎你一直将数字推到一个数组,将运算符推到另一个数组。当您找到具有更高优先级的内容时,您就可以将其处理到位。这样做直到数组为空。 -
是的,这就是我目前的做法:)
标签: javascript arrays