带有字符串输入的If语句

If statement with a String input

本文关键字:If 语句 输入 字符串      更新时间:2023-09-26

我想用字符串输入一个if语句

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

我想使用条件(字符串格式)作为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读取字符串作为一个if语句?

实现这一目标的唯一选择是使用eval(),它几乎做到了它所说的。它计算一串代码。

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