首页 > 解决方案 > 是否可以在 javascript 中构造动态布尔函数?

问题描述

我正在编写一个程序,该程序需要评估大量不同的布尔表达式,这些表达式在运行时由我在运行时从数据源读取的信息确定。

是否可以在javascript中构造这样的函数?

我可能的解决方法是构造一串可以转换为工作布尔表达式的布尔表达式。变量的名称是预先确定的,所以如果我知道如何做到这一点,这可能是可行的,但我不知道。另一种选择是与我用来读入数据的函数同时运行这个动态布尔表达式生成过程,但这会大大增加我的程序的复杂性,所以我想尽可能避免这种情况。

这里有些例子:

同样,我的变量名称是预定义的:为了清楚起见,我们称它们为 numVar1、numVar2、boolVar。

这些动态布尔表达式中的每一个都将由像这样的 and、or 和 not 操作组成:

numVar1 > 0 && numVar2 < 0
numVar1 > 1 && !(numVar2 < 2)
numVar2 > 2 || (numVar1 < 100 && (boolVar === true))

每个函数都有这三个参数和一个这样的布尔表达式,但实际的表达式需要从我自己解析的 JSON 数据文件中生成。

标签: javascriptnode.js

解决方案


推荐阅读