У меня есть функция math.js в реакции.Он вычисляет формулы, используя значения из переменных, например:
var variables = {'A': 1, 'B': 2}
var formula = 'A > 0 or B < 5'
math.evaluate(formula, variables) // this will return true
Но при сравнении строк возвращается следующая ошибка:
Ошибка: невозможно преобразовать "abcна номер
var variables = {'A': 'abc'}
var formula = 'A == "abc"'
math.evaluate(formula, variables) // this will return Error: Cannot convert "abc" to a number
Кто-нибудь может подсказать мне, как мне это сделать?Что мне нужно, так это то, что переменные могут вычислять как строки, так и числа, спасибо.Любой вопрос, похожий на этот, также будет оценен.Я попытался выполнить поиск, но не смог получить много.
Я пробовал следующее, оно не отменяет функцию: https://github.com/josdejong/mathjs/issues/1051#issuecomment-369930811
ОБНОВЛЕНИЕ Эточто я пытаюсь сделать:
formula = ' A >= 2 and B == "year" '
variables = { A: 23, B: 'year' }
import { evaluate } from 'mathjs'
const MATH_EVAL = (formula, variables)=> {
var result = evaluate(formula, variables)
return result
}
export default MATH_EVAL