Я хотел бы хранить различные кривые в json, и, конечно, это не нативные типы данных. Я не решаюсь использовать слово «функция», я не говорю о javascript функциях.
Если, например, я хочу сохранить горизонтальную линию при y = 2, я мог бы выписать ее в старшей школе, как f(x) = 2
, или, если бы я хотел экспоненту, это могло бы быть f(x) = 2**x
.
Конечно, чтобы использовать данные (а не просто отображать их как необработанную строку для человека) в какой-то момент это нужно будет проанализировать и превратить в javascript.
Есть ли умный способ сделать это, чтобы избежать ошибок eval ()? Может показаться, что, возможно, единственными символами алфавита c, которые должны быть разрешены в строке, являются 'f', 'x' и 'y' в любом случае, все остальное должно быть математическими операторами и круглыми скобками. Но потом я вспомнил, что, возможно, в какой-то момент мне понадобится триггер.
Некоторые из них будут предоставлены пользователем, и я не знаю ожидаемого объема. И при этом они никогда не будут использоваться только на стороне клиента.