我正在使用mathjs从JSON数据计算一些表达式。我称eval,在这里我将JSON数据作为范围传递。我可以在mathjs脚本中使用JSON路径,例如user1.age> user2.age。但是,当这些路径未包含在JSON中时,mathjs会引发错误。
如果符号为空,我可以在mathjs脚本中轻松检查它。但是,如果它是未定义的,我将无法执行,因为mathjs会引发错误,而不是将其评估为未定义。
left == null ? right : left
对于以下输入,此脚本的计算结果为42-
{
"left": null,
"right": 42
}
但是为此抛出一个错误“错误:剩下未定义的符号”-
{
"right": 42
}
试图遍历表达式树,并将所有缺少的符号添加到JSON数据中,然后将其传递给eval。 https://mathjs.org/examples/advanced/expression_trees.js.html 但是,有没有更好的自定义符号处理方式?