【发布时间】:2021-05-18 12:25:38
【问题描述】:
需要把数组的所有值都改写成一个新的变量,但是要让加法和减法不是像一个字符串,也就是让代码执行,结果是3
我的问题如何解决?
代码:
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<script>
let a = "1 + 3 - 1";
let arr = a.split(" ");
arr.forEach(function(item, i, arr) {});
//code here
</script>
</body>
</html>
【问题讨论】:
-
没有简单的方法可以做到这一点.... eval 和 new Fuction() 是一种方法。或者有很多图书馆可以解决数学问题。
-
你可以write your own simple expression parser(滚动到底部查看支持添加的示例)。尽管您可能只使用现有的 AST 解析器并处理该输出来评估它。或者使用图书馆为你做这件事。不确定为什么要评估字符串以及如何执行此操作。
标签: javascript