我正在寻找一个能够转换一串数字的函数,比如像bolow那样的布尔值:
var a = "3>6";
toBoolean(a); //return false
var b = "7<9";
toBoolean(b); //return true
我很感激帮助我解决这个问题的人。
由于
答案 0 :(得分:4)
在此特定的情况下,您可以使用eval()
- 但是,如果您需要利用eval()
来维持自己的使用,则应该进一步考虑您的用例以安全的方式。 (即不要评估未经授权的用户输入)
var a = "3>6";
eval(a); //return false
var b = "7<9";
eval(b); //return true
答案 1 :(得分:1)
所以这不仅仅是一串数字,它也有一个比较,你想要评估。
此时需要考虑的一个好问题是你是如何陷入这种情况的。但我认为你有充分的理由。
简单的回答,比每个人都应该投票给我说:
b = eval(str)
但这会带来很大的风险,取决于你对上述问题的回答。
因此,您可能需要考虑使用字符串来查找运算符和数字,并更多地手动执行评估。
if (str[1] == '>') {
return +str[0] > +str[2]
} else if { ...