如果语句带有String输入

时间:2014-05-19 11:14:59

标签: javascript node.js

我想用一个String输入创建一个if语句。

我有一个包含Achievement数据的MongoDB。此数据包含一个字符串,其中包含必须满足的条件才能获得成就。

我想使用条件(以String格式)作为if语句中的条件。

我有以下代码:

function checker(condition, achievementId, doc) {
  if((condition) && doc.Achievement.indexOf(achievementId) == -1) {
    return true 
} else {
    return false 
}

doc是解锁成就的数据对象。

确保成就尚未解锁。

doc.Achievement.indexOf(achievementId) == -1

if语句中的示例条件:

var condition = "doc.Score == 100"

Javascript将允许此代码,但始终返回true。是否可以让JS将String作为if语句读取?

1 个答案:

答案 0 :(得分:1)

实现这一目标的唯一选择是使用eval(),这几乎就是它所说的。它评估一串代码。

if(eval(condition) && doc.Achievement.indexOf(achievementId) == -1) {
}