【问题标题】:evaluate string to mathematical equation [duplicate]将字符串评估为数学方程[重复]
【发布时间】:2015-02-16 11:39:15
【问题描述】:

我有一个数组 [1,2,3] 我刚刚用 '+' 加入了它,留下了字符串

"1+2+3"

我该如何评估才能得到答案 6.

【问题讨论】:

  • 你看过eval吗?

标签: javascript


【解决方案1】:

你可以使用eval:

var result = eval("1+2+3");

【讨论】:

  • eval 是邪恶的。导致 XSS 黑客攻击
  • 这可以满足我的需要,我会记住这不是最好的解决方案@Ankur,谢谢。
  • 它回答了这个问题,不需要在这里投反对票……如果他能够在将数组元素转换为字符串之前对其进行求和,我猜他会问。
  • @AnkurAggarwal Eval 并不邪恶,它只能执行代码。因此,您只需要小心输入,就像应用程序的其他部分一样。 eval 不会导致 XSS 黑客攻击,就像简单地包含 3rd 方 JS 包含不会导致 XSS 黑客攻击或 sql 查询可能导致注入一样。都是一样的。
  • 无论如何,如果你想避免使用 eval 出于各种原因(也许你必须从用户那里获得输入?)那么你应该看看 PEG.js 并为数学表达式编写一个解析器
猜你喜欢
  • 2011-08-15
  • 1970-01-01
  • 2020-02-29
  • 1970-01-01
  • 2014-10-17
  • 1970-01-01
  • 2020-04-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多