Как вычислить значение функции в строке подставляя значения в JS

128
03 июня 2019, 22:50

Как можно вычислять значение математической функции представленную в виде строки?

Например: f(x,y) = 2*x + 5/y

Как можно подставить x и y, затем вычислить значение функции,

Answer 1

var f = "f(x,y) = 2*x + 5/y"; 
var x = 100; 
var y = 2.5; 
 
f = f.replace(/f\(x,y\)\s=\s/g, ""); //удаляем лишнее 
f = f.replace(/x/g, x); // заменяем подстроку x на значение переменной x 
f = f.replace(/y/g, y); // тоже самое с y 
f = eval(f); // вычисляем значение строкового выражения 
 
console.log(f);

Answer 2

Нашел отличную библиотеку для решения задачи "math.js":

var f = "2*x^2 + sqrt(5/y)";
var fx = 2;
var fy = 5
var node = math.parse(f);
console.log(node.eval({x: fx, y: fy})); 
READ ALSO
Как завершить все события и циклы внутри функции jquery

Как завершить все события и циклы внутри функции jquery

Всем добрый деньНедавно изучи канвас, и теперь пробую сделать его адаптивным, просто чтобы потренироваться

155
Помогите построить SQL-запрос

Помогите построить SQL-запрос

Вообщем не работает только из-за MAX(tecdoc_crosscross_num) + 1 Помогите пожалуйста найти решение

168
Очередная проблема с кодировкой MySQL

Очередная проблема с кодировкой MySQL

Очередная проблема с кодировкой, в таблице русские символы отображаются некорректно

165